OSDN Git Service

android-x86/art.git
8 years agoMerge "ART: Simplify patchoat" into nyc-dev
Andreas Gampe [Fri, 12 Feb 2016 23:48:19 +0000 (23:48 +0000)]
Merge "ART: Simplify patchoat" into nyc-dev
am: df3a54bf63

* commit 'df3a54bf63597095f2fac3d13b22a112eb6dcd6b':
  ART: Simplify patchoat

8 years agoMerge "ART: Simplify patchoat" into nyc-dev
Andreas Gampe [Fri, 12 Feb 2016 23:42:57 +0000 (23:42 +0000)]
Merge "ART: Simplify patchoat" into nyc-dev

8 years agoART: Simplify patchoat
Andreas Gampe [Thu, 11 Feb 2016 04:18:37 +0000 (20:18 -0800)]
ART: Simplify patchoat

Removed unused configurations. Cut out cruft that isn't used anymore
since multi-image. Make it smaller to not require new selinux
permissions for OTAs.

Split up the main function, to make the flow clearer for image vs
app/oat.

Bug: 25612095
Bug: 26317072
Change-Id: Ieb55bd1a13cbb44fd0e2979a8a61a509df9c1e7e

8 years agoMerge "Generalized "dom-based" dynamic BCE to symbolic base + offset."
Aart Bik [Fri, 12 Feb 2016 22:21:53 +0000 (22:21 +0000)]
Merge "Generalized "dom-based" dynamic BCE to symbolic base + offset."
am: 0665090c88

* commit '0665090c880ec22655ff8b82084746c4407ea792':
  Generalized "dom-based" dynamic BCE to symbolic base + offset.

8 years agoMerge "Generalized "dom-based" dynamic BCE to symbolic base + offset."
Aart Bik [Fri, 12 Feb 2016 22:11:59 +0000 (22:11 +0000)]
Merge "Generalized "dom-based" dynamic BCE to symbolic base + offset."

8 years agoGeneralized "dom-based" dynamic BCE to symbolic base + offset.
Aart Bik [Tue, 9 Feb 2016 22:26:34 +0000 (14:26 -0800)]
Generalized "dom-based" dynamic BCE to symbolic base + offset.

Rationale:
So far, if all others failed, BCE would use a dominator-based
dynamic deoptimization to eliminate bounds checks in e.g. a[0],
a[1], a[2], etc. This CL generalizes this to any symbolic base
with offset in e.g. a[base], a[base+1], etc. The runtime tests
(two for symbolic, one for constant) carefully account for
arithmetic wrap-around.

bug=26680114

Change-Id: I7432a200fd69791914ed776c77fa62567b5863c0

8 years agoFix app image memory leak
Mathieu Chartier [Fri, 12 Feb 2016 18:41:18 +0000 (18:41 +0000)]
Fix app image memory leak
am: 6cc91e4d8c

* commit '6cc91e4d8c5956d3c4323b416f2a344bf848f741':
  Fix app image memory leak

8 years agoFix app image memory leak
Mathieu Chartier [Fri, 12 Feb 2016 00:27:18 +0000 (16:27 -0800)]
Fix app image memory leak

There was a memory leak if we failed to add an image space, this
was caused by releasing ownership without adding it to the heap.

Bug: 22858531

(cherry picked from commit bd064ea2269b23360e32e8139c22d5993ddc385b)

Change-Id: Ib45c0140b82cee5da04ed4a9f101f7c554cb25da

8 years agoMerge "Fix app image memory leak"
Mathieu Chartier [Fri, 12 Feb 2016 18:02:06 +0000 (18:02 +0000)]
Merge "Fix app image memory leak"
am: b9adbf63f8

* commit 'b9adbf63f880f246d83b3af4ca03aca07711f857':
  Fix app image memory leak

8 years agoMerge "Fix app image memory leak"
Mathieu Chartier [Fri, 12 Feb 2016 17:56:29 +0000 (17:56 +0000)]
Merge "Fix app image memory leak"

8 years agoFix app image memory leak
Mathieu Chartier [Fri, 12 Feb 2016 00:27:18 +0000 (16:27 -0800)]
Fix app image memory leak

There was a memory leak if we failed to add an image space, this
was caused by releasing ownership without adding it to the heap.

Bug: 22858531

Change-Id: Ia3c97ec822ca5362f52008e813fa434107198bc9

8 years agoMerge "Fix run-test"
David Brazdil [Fri, 12 Feb 2016 17:29:38 +0000 (17:29 +0000)]
Merge "Fix run-test"
am: 51333f93a8

* commit '51333f93a827a36ed179d44f076d36dd629a7fe8':
  Fix run-test

8 years agoMerge "Fix run-test"
David Brazdil [Fri, 12 Feb 2016 17:24:39 +0000 (17:24 +0000)]
Merge "Fix run-test"

8 years agoFix run-test
David Brazdil [Fri, 12 Feb 2016 17:22:24 +0000 (17:22 +0000)]
Fix run-test

Change-Id: I69b7d9af864e7a34c039630b3c3c8929ce04b658

8 years agoAdd MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.
Narayan Kamath [Fri, 12 Feb 2016 17:03:59 +0000 (17:03 +0000)]
Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.
am: 9a3a10ac81

* commit '9a3a10ac819f456f7bcc626046342a845902fe96':
  Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.

8 years agoMerge "Be less extreme on the iteration in 570-checker-osr."
Nicolas Geoffray [Fri, 12 Feb 2016 16:59:53 +0000 (16:59 +0000)]
Merge "Be less extreme on the iteration in 570-checker-osr."
am: 1b07552999

* commit '1b0755299928221a1dcc5db383bf8fc378d29b60':
  Be less extreme on the iteration in 570-checker-osr.

8 years agoMerge "Be less extreme on the iteration in 570-checker-osr."
Nicolas Geoffray [Fri, 12 Feb 2016 16:53:40 +0000 (16:53 +0000)]
Merge "Be less extreme on the iteration in 570-checker-osr."

8 years agoBe less extreme on the iteration in 570-checker-osr.
Nicolas Geoffray [Fri, 12 Feb 2016 16:52:16 +0000 (16:52 +0000)]
Be less extreme on the iteration in 570-checker-osr.

Looks like otherwise it timeouts on buildbots.

Change-Id: I26f36e9dcd3368bdf326756fdd428e641db06f3b

8 years agoMerge "ART: Remove HTemporary"
David Brazdil [Fri, 12 Feb 2016 16:42:03 +0000 (16:42 +0000)]
Merge "ART: Remove HTemporary"
am: 0d15f267eb

* commit '0d15f267eb9d629e26df0c603c39f9665951e970':
  ART: Remove HTemporary

8 years agoMerge "ART: Remove HTemporary"
David Brazdil [Fri, 12 Feb 2016 16:34:49 +0000 (16:34 +0000)]
Merge "ART: Remove HTemporary"

8 years agoAdd MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.
Narayan Kamath [Fri, 12 Feb 2016 16:09:58 +0000 (16:09 +0000)]
Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.

This needs a companion makefile that declares a no-op module
so that the build system can leach of its LOCAL_PATH to collect
all subdirectory sources.

bug: 27160386
Change-Id: Iac5321304ae68ac203eda8e4f7d5d81339dab851

8 years agoMerge "ART: Treat throw with non-reference type as hard failure in verifier."
David Brazdil [Fri, 12 Feb 2016 15:51:42 +0000 (15:51 +0000)]
Merge "ART: Treat throw with non-reference type as hard failure in verifier."
am: 6c5907ad7a

* commit '6c5907ad7ae1d242b90d692c478ba68b5cdcb44a':
  ART: Treat throw with non-reference type as hard failure in verifier.

8 years agoMerge "ART: Treat throw with non-reference type as hard failure in verifier."
David Brazdil [Fri, 12 Feb 2016 15:47:53 +0000 (15:47 +0000)]
Merge "ART: Treat throw with non-reference type as hard failure in verifier."

8 years agoART: Treat throw with non-reference type as hard failure in verifier.
Pavel Vyssotski [Thu, 11 Feb 2016 14:28:11 +0000 (20:28 +0600)]
ART: Treat throw with non-reference type as hard failure in verifier.

The code
   const v0, 0xbad
   throw v0
crashes dex2oatd/Quick by DCHECK in art::Mir2Lir::LoadValueDirect.
dex2oat works fine producing VerifyError later in runtime.
Optimizing also pass as it rejects methods with soft failures.

Fix this by rejecting such methods in Verifier.

Bug: 27148248
Change-Id: Ib783f60a210362654d40e84172e7bd579913a4d4
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
8 years agoART: Remove HTemporary
David Brazdil [Tue, 2 Feb 2016 16:15:27 +0000 (16:15 +0000)]
ART: Remove HTemporary

Change-Id: I21b984224370a9ce7a4a13a9652503cfb03c5f03

8 years agoMerge "Re-enable OSR."
Nicolas Geoffray [Fri, 12 Feb 2016 13:30:34 +0000 (13:30 +0000)]
Merge "Re-enable OSR."
am: 5960a3f430

* commit '5960a3f430d1e7f47ea3db9a8364dc82e3f8add9':
  Re-enable OSR.

8 years agoMerge "Re-enable OSR."
Nicolas Geoffray [Fri, 12 Feb 2016 13:25:56 +0000 (13:25 +0000)]
Merge "Re-enable OSR."

8 years agoMerge "Fix compiler driver gtest."
Nicolas Geoffray [Fri, 12 Feb 2016 12:37:55 +0000 (12:37 +0000)]
Merge "Fix compiler driver gtest."
am: b20d0f6327

* commit 'b20d0f6327acbc225eba517d220832ab9a1cd599':
  Fix compiler driver gtest.

8 years agoMerge "Fix compiler driver gtest."
Nicolas Geoffray [Fri, 12 Feb 2016 12:32:53 +0000 (12:32 +0000)]
Merge "Fix compiler driver gtest."

8 years agoFix compiler driver gtest.
Calin Juravle [Fri, 5 Feb 2016 19:44:05 +0000 (19:44 +0000)]
Fix compiler driver gtest.

(cherry picked from commit 35c4e0b2ad573e820d6e9d461a571af300611d36)

Change-Id: Ia59f4463a6158f7a949debd7a93f35fa633cd36a

8 years agoMerge "Store relative paths in the profile file"
Nicolas Geoffray [Fri, 12 Feb 2016 12:12:48 +0000 (12:12 +0000)]
Merge "Store relative paths in the profile file"
am: 1660d214de  -s ours

* commit '1660d214de55678c97defef10395f6f9d184e1fa':
  Store relative paths in the profile file

8 years agoMerge "Store relative paths in the profile file"
Nicolas Geoffray [Fri, 12 Feb 2016 12:00:10 +0000 (12:00 +0000)]
Merge "Store relative paths in the profile file"

8 years agoStore relative paths in the profile file
Calin Juravle [Fri, 5 Feb 2016 16:19:19 +0000 (16:19 +0000)]
Store relative paths in the profile file

Bug: 26409579
Bug: 26080105

(cherry picked from commit f06d6bc0d083d383371aeb1f0d97249f3e20fc25)

Change-Id: I7eeea06e7df49a7f8af4c4cb71da58c21f1c185b

8 years agoRe-enable OSR.
Nicolas Geoffray [Thu, 11 Feb 2016 17:35:55 +0000 (17:35 +0000)]
Re-enable OSR.

Fixes two bugs:
- Dealing with proxy methods, which the compiler and code cache
  does not handle.
- Dealing with phi types, that may have been speculatively optimized
  but do not hold once jumping to the compiled code.

Change-Id: I7dcd9976ef7b12128fff95d2b7ed3e69cc42e90a

8 years agoMerge "Fix x86-64 Baker\'s read barrier fast path for CheckCast."
Hiroshi Yamauchi [Thu, 11 Feb 2016 21:47:04 +0000 (21:47 +0000)]
Merge "Fix x86-64 Baker\'s read barrier fast path for CheckCast."
am: d3caabd4f8

* commit 'd3caabd4f85f86dd744da432993e12935d843a83':
  Fix x86-64 Baker's read barrier fast path for CheckCast.

8 years agoMerge "Fix x86-64 Baker's read barrier fast path for CheckCast."
Hiroshi Yamauchi [Thu, 11 Feb 2016 21:39:41 +0000 (21:39 +0000)]
Merge "Fix x86-64 Baker's read barrier fast path for CheckCast."

8 years agoMerge "Some clean-up for the handling of HSelect in LSE"
Mingyao Yang [Thu, 11 Feb 2016 19:36:09 +0000 (19:36 +0000)]
Merge "Some clean-up for the handling of HSelect in LSE"
am: d3df33e6c2

* commit 'd3df33e6c24e3cd62991b2a65833f16dc05a17b8':
  Some clean-up for the handling of HSelect in LSE

8 years agoMerge "Some clean-up for the handling of HSelect in LSE"
Mingyao Yang [Thu, 11 Feb 2016 19:27:37 +0000 (19:27 +0000)]
Merge "Some clean-up for the handling of HSelect in LSE"

8 years agoFix x86-64 Baker's read barrier fast path for CheckCast.
Roland Levillain [Thu, 11 Feb 2016 19:07:30 +0000 (19:07 +0000)]
Fix x86-64 Baker's read barrier fast path for CheckCast.

Use an art::x86_64::Label instead of an
art::x86_64::NearLabel as end label when emitting code for a
HCheckCast instruction, as the range of the latter may
sometimes be too short when Baker's read barriers are
enabled.

Bug: 12687968
Change-Id: Ia9742dce65be7d4fb104688f3c4717b65df1fb54

8 years agoMerge "Make run test 572-checker-array-get-regression gcstress friendly."
Roland Levillain [Thu, 11 Feb 2016 16:54:04 +0000 (16:54 +0000)]
Merge "Make run test 572-checker-array-get-regression gcstress friendly."
am: e52bf00fed

* commit 'e52bf00fed14563d23e38a74908180e152b26629':
  Make run test 572-checker-array-get-regression gcstress friendly.

8 years agoMerge "Make run test 572-checker-array-get-regression gcstress friendly."
Roland Levillain [Thu, 11 Feb 2016 15:22:52 +0000 (15:22 +0000)]
Merge "Make run test 572-checker-array-get-regression gcstress friendly."

8 years agoMake run test 572-checker-array-get-regression gcstress friendly.
Roland Levillain [Thu, 11 Feb 2016 12:50:41 +0000 (12:50 +0000)]
Make run test 572-checker-array-get-regression gcstress friendly.

The large array allocated in
test/572-checker-array-get-regression/src/Main.java used to
be too big for the small heap used in gcstress mode.  Use a
smaller array size that however still exercises the initial
issue checked by this regression test.

Bug: 26817006
Bug: 12687968
Change-Id: Id7080a18007cad9b5d4ac31b45f7df46213a908e

8 years agoMerge "Fix AllocateBlockedReg."
Nicolas Geoffray [Thu, 11 Feb 2016 11:44:28 +0000 (11:44 +0000)]
Merge "Fix AllocateBlockedReg."
am: 9b262128d7

* commit '9b262128d7dc2b8caa5265e1b3c967465e58ef77':
  Fix AllocateBlockedReg.

8 years agoMerge "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""
Nicolas Geoffray [Thu, 11 Feb 2016 11:44:09 +0000 (11:44 +0000)]
Merge "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""
am: 953e4c9904

* commit '953e4c990456a71d351e17aee62e80e8133a186e':
  Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""

8 years agoMerge "Fix AllocateBlockedReg."
Nicolas Geoffray [Thu, 11 Feb 2016 11:41:19 +0000 (11:41 +0000)]
Merge "Fix AllocateBlockedReg."

8 years agoMerge "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""
Nicolas Geoffray [Thu, 11 Feb 2016 11:40:11 +0000 (11:40 +0000)]
Merge "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""

8 years agoRevert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""
Nicolas Geoffray [Thu, 11 Feb 2016 11:39:37 +0000 (11:39 +0000)]
Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""

Unfortunately, run-test interpreter on arm32 are still timing out, and the following jdwp tests on armv8 are failing:

  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testBreakpoint_BeforeException (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testFieldAccess (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testFieldModification (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testMethodExit (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testMethodExitWithReturnValue (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.FieldAccessTest#testFieldAccessEvent (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.FieldModification002Test#testFieldModifyEvent (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.FieldModificationTest#testFieldModifyEvent (no test history available)
  org.apache.harmony.jpda.tests.jdwp.Events.MethodExitWithReturnValueTest#testMethodExitWithReturnValueException (no test history available)

This reverts commit 9687f244bdb5dd0b4d9dd804a7c8c7b4a911d364.

Change-Id: Iadac4902ab8d7eb574cc4abeba5f93388d59dcb4

8 years agoMerge "Always visit ProfilingInfo, the counter could be reset."
Mathieu Chartier [Wed, 10 Feb 2016 23:14:47 +0000 (23:14 +0000)]
Merge "Always visit ProfilingInfo, the counter could be reset."
am: 34937e2ed4

* commit '34937e2ed46fa9f56d99e9f32e0bfad050e5e798':
  Always visit ProfilingInfo, the counter could be reset.

8 years agoAlways visit ProfilingInfo, the counter could be reset.
Nicolas Geoffray [Wed, 10 Feb 2016 23:14:01 +0000 (23:14 +0000)]
Always visit ProfilingInfo, the counter could be reset.
am: 87170e7641

* commit '87170e764119d23caf5f0b319f8bf2ab6b4e974b':
  Always visit ProfilingInfo, the counter could be reset.

8 years agoMerge "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""
Bill Buzbee [Wed, 10 Feb 2016 23:13:47 +0000 (23:13 +0000)]
Merge "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""
am: 797f70cb2e

* commit '797f70cb2eacbd1b6c1db8bff0375abbcc27d3b9':
  Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""

8 years agoAlways visit ProfilingInfo, the counter could be reset.
Nicolas Geoffray [Sun, 7 Feb 2016 12:48:28 +0000 (12:48 +0000)]
Always visit ProfilingInfo, the counter could be reset.

The counter could be reset or overflow, but we may have
inline caches populated.

bug:26775558

(cherry picked from commit ef404468d727332b088e6d461d0cf2f0ce0a897a)

Change-Id: Ib0cc8da05aa75d50c0474a1ddcb88cd60ae34707

8 years agoMerge "Always visit ProfilingInfo, the counter could be reset."
Mathieu Chartier [Wed, 10 Feb 2016 22:59:54 +0000 (22:59 +0000)]
Merge "Always visit ProfilingInfo, the counter could be reset."

8 years agoMerge "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""
Bill Buzbee [Wed, 10 Feb 2016 22:42:02 +0000 (22:42 +0000)]
Merge "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""

8 years agoMerge "ART: Fix arm mterp shadow handling"
Bill Buzbee [Wed, 10 Feb 2016 21:57:56 +0000 (21:57 +0000)]
Merge "ART: Fix arm mterp shadow handling"
am: dd08dd7109

* commit 'dd08dd7109f09dea53e64685f7db1439a0b07b2b':
  ART: Fix arm mterp shadow handling

8 years agoMerge "ART: Fix arm mterp shadow handling"
Bill Buzbee [Wed, 10 Feb 2016 21:50:37 +0000 (21:50 +0000)]
Merge "ART: Fix arm mterp shadow handling"

8 years agoART: Fix arm mterp shadow handling
buzbee [Wed, 10 Feb 2016 16:59:12 +0000 (08:59 -0800)]
ART: Fix arm mterp shadow handling

The shadow frame conventions for the interpreter require that any
time a virtual register is set, a corresponding shadow register
must also be set (cleared if non-reference).  The arm Mterp
implementation was failing to do this for some 64-bit operations.

Change-Id: Iee174d54318bf6ebb677966ad020d8cbe578986c

8 years agoTry to substitute constructor chains for IPUTs.
Vladimir Marko [Wed, 10 Feb 2016 16:35:37 +0000 (16:35 +0000)]
Try to substitute constructor chains for IPUTs.
am: f8b3b8bc37

* commit 'f8b3b8bc37fb04d8ae113ae6bfcf4de2f5a700d4':
  Try to substitute constructor chains for IPUTs.

8 years agoMerge "ART/Thumb2: Disassemble SBFX/UBFX."
Vladimir Marko [Wed, 10 Feb 2016 14:22:53 +0000 (14:22 +0000)]
Merge "ART/Thumb2: Disassemble SBFX/UBFX."
am: be89a6f1d9

* commit 'be89a6f1d9e41b154be3fe1da97cedb6964fbd35':
  ART/Thumb2: Disassemble SBFX/UBFX.

8 years agoMerge "ART/Thumb2: Disassemble SBFX/UBFX."
Vladimir Marko [Wed, 10 Feb 2016 14:18:20 +0000 (14:18 +0000)]
Merge "ART/Thumb2: Disassemble SBFX/UBFX."

8 years agoART/Thumb2: Disassemble SBFX/UBFX.
Vladimir Marko [Wed, 10 Feb 2016 12:52:59 +0000 (12:52 +0000)]
ART/Thumb2: Disassemble SBFX/UBFX.

Change-Id: I856206de81f41959f68de0653db021903dd1a210

8 years agoMerge "Fix run test 572-checker-array-get-regression on 32-bit archs."
Roland Levillain [Wed, 10 Feb 2016 12:46:27 +0000 (12:46 +0000)]
Merge "Fix run test 572-checker-array-get-regression on 32-bit archs."
am: fc06b93dee

* commit 'fc06b93dee031ec16272ec64fca92a0e639ae73e':
  Fix run test 572-checker-array-get-regression on 32-bit archs.

8 years agoMerge "Fix run test 572-checker-array-get-regression on 32-bit archs."
Roland Levillain [Wed, 10 Feb 2016 12:41:32 +0000 (12:41 +0000)]
Merge "Fix run test 572-checker-array-get-regression on 32-bit archs."

8 years agoFix run test 572-checker-array-get-regression on 32-bit archs.
Roland Levillain [Wed, 10 Feb 2016 12:33:29 +0000 (12:33 +0000)]
Fix run test 572-checker-array-get-regression on 32-bit archs.

HCurrentMethod instructions are typed as long on 64-bit
architectures, but as integer on 32-bit ones.

Bug: 26817006
Bug: 12687968
Change-Id: Icec2f0b0629c0af7a7afeabb0fd2881babb86368

8 years agoMerge "Fix ARM64 Baker\'s read barrier fast path for ArraySet."
Roland Levillain [Wed, 10 Feb 2016 11:55:14 +0000 (11:55 +0000)]
Merge "Fix ARM64 Baker\'s read barrier fast path for ArraySet."
am: 0c82e1afa3

* commit '0c82e1afa325cff3c409c8e35184f139f5c06f68':
  Fix ARM64 Baker's read barrier fast path for ArraySet.

8 years agoMerge "Fix ARM64 Baker's read barrier fast path for ArraySet."
Roland Levillain [Wed, 10 Feb 2016 11:51:54 +0000 (11:51 +0000)]
Merge "Fix ARM64 Baker's read barrier fast path for ArraySet."

8 years agoTry to substitute constructor chains for IPUTs.
Vladimir Marko [Thu, 4 Feb 2016 19:46:56 +0000 (19:46 +0000)]
Try to substitute constructor chains for IPUTs.

Match a constructor chain where each constructor either
forwards some or all of its arguments to the next (i.e.
superclass constructor or a constructor in the same class)
and may pass extra zeros (of any type, including null),
followed by any number of IPUTs on "this", storing either
arguments or zeros, until we reach the contructor of
java.lang.Object.

When collecting IPUTs from the constructor chain, remove
any IPUTs that store the same field as an IPUT that comes
later. This is safe in this case even if those IPUTs store
volatile fields because the uninitialized object reference
wasn't allowed to escape yet. Also remove any IPUTs that
store zero values as the allocated object is already zero
initialized.

(cherry picked from commit 354efa6cdf558b2331e8fec539893fa51763806e)

Change-Id: I691e3b82e550e7a3272ce6a81647c7fcd02c01b1

8 years agoMerge "Try to substitute constructor chains for IPUTs."
Vladimir Marko [Wed, 10 Feb 2016 09:48:19 +0000 (09:48 +0000)]
Merge "Try to substitute constructor chains for IPUTs."
am: 927f40d925

* commit '927f40d925e2106598d413ac02e8d80463357258':
  Try to substitute constructor chains for IPUTs.

8 years agoMerge "Try to substitute constructor chains for IPUTs."
Vladimir Marko [Wed, 10 Feb 2016 09:44:52 +0000 (09:44 +0000)]
Merge "Try to substitute constructor chains for IPUTs."

8 years agoMerge "ART: Update dalvik-cache for zygote after OTA" into nyc-dev
Andreas Gampe [Tue, 9 Feb 2016 22:32:37 +0000 (22:32 +0000)]
Merge "ART: Update dalvik-cache for zygote after OTA" into nyc-dev
am: 8b0e9b87ab

* commit '8b0e9b87ab6e54237b2d1e101b8cce7ea6443238':
  ART: Update dalvik-cache for zygote after OTA

8 years agoART: Give better error messages in dex-file verifier
Andreas Gampe [Tue, 9 Feb 2016 22:32:21 +0000 (22:32 +0000)]
ART: Give better error messages in dex-file verifier
am: a5c4493c37

* commit 'a5c4493c37806f1b027c90f5ec3fe808adfdf3fe':
  ART: Give better error messages in dex-file verifier

8 years agoMerge "ART: Update dalvik-cache for zygote after OTA" into nyc-dev
Andreas Gampe [Tue, 9 Feb 2016 22:20:04 +0000 (22:20 +0000)]
Merge "ART: Update dalvik-cache for zygote after OTA" into nyc-dev

8 years agoART: Update dalvik-cache for zygote after OTA
Andreas Gampe [Sat, 21 Nov 2015 03:26:51 +0000 (19:26 -0800)]
ART: Update dalvik-cache for zygote after OTA

Detect OTA artifacts and move them over to the regular dalvik-cache
on boot.

Bug: 25612095
Change-Id: I9a1a22641cc7833435098627a5cc6d954521c4ea

8 years agoMerge "Mterp: Fix and restore mac host build"
Bill Buzbee [Tue, 9 Feb 2016 22:06:33 +0000 (22:06 +0000)]
Merge "Mterp: Fix and restore mac host build"
am: dfcd2f43a6

* commit 'dfcd2f43a6694482a4e691261905508f65d8dc9e':
  Mterp: Fix and restore mac host build

8 years agoMerge "Mterp: Fix and restore mac host build"
Bill Buzbee [Tue, 9 Feb 2016 21:29:52 +0000 (21:29 +0000)]
Merge "Mterp: Fix and restore mac host build"

8 years agoTry to substitute constructor chains for IPUTs.
Vladimir Marko [Thu, 4 Feb 2016 19:46:56 +0000 (19:46 +0000)]
Try to substitute constructor chains for IPUTs.

Match a constructor chain where each constructor either
forwards some or all of its arguments to the next (i.e.
superclass constructor or a constructor in the same class)
and may pass extra zeros (of any type, including null),
followed by any number of IPUTs on "this", storing either
arguments or zeros, until we reach the contructor of
java.lang.Object.

When collecting IPUTs from the constructor chain, remove
any IPUTs that store the same field as an IPUT that comes
later. This is safe in this case even if those IPUTs store
volatile fields because the uninitialized object reference
wasn't allowed to escape yet. Also remove any IPUTs that
store zero values as the allocated object is already zero
initialized.

Change-Id: If93022310bf04fe38ee741665ac4a65d4c2bb25f

8 years agoMerge "ART: Give better error messages in dex-file verifier"
Andreas Gampe [Tue, 9 Feb 2016 19:33:43 +0000 (19:33 +0000)]
Merge "ART: Give better error messages in dex-file verifier"
am: 4c3127698b

* commit '4c3127698b90e0475f233433eda936424b8e945a':
  ART: Give better error messages in dex-file verifier

8 years agoART: Give better error messages in dex-file verifier
Andreas Gampe [Tue, 9 Feb 2016 17:21:04 +0000 (09:21 -0800)]
ART: Give better error messages in dex-file verifier

Try to decode field and method names when an access-flag violation
has been found. This is not guaranteed to work, if the file is
broken enough.

Bug: 27064244
Bug: 27070841

(cherry picked from commit c9f0ba1a4a2c9366ffc2dc2f9c2d8d3f09bb2112)

Change-Id: Ie913076462e958d4f21b481631bc874cf6f67c0d

8 years agoMerge "ARM: Add direct calls to math intrinsics"
Vladimir Marko [Tue, 9 Feb 2016 19:08:46 +0000 (19:08 +0000)]
Merge "ARM: Add direct calls to math intrinsics"
am: c70646e3c7

* commit 'c70646e3c75ec97648bfa7c295e4b1685895afcc':
  ARM: Add direct calls to math intrinsics

8 years agoMerge "ART: Give better error messages in dex-file verifier"
Andreas Gampe [Tue, 9 Feb 2016 18:54:02 +0000 (18:54 +0000)]
Merge "ART: Give better error messages in dex-file verifier"

8 years agoMerge "ARM: Add direct calls to math intrinsics"
Vladimir Marko [Tue, 9 Feb 2016 18:47:23 +0000 (18:47 +0000)]
Merge "ARM: Add direct calls to math intrinsics"

8 years agoART: Give better error messages in dex-file verifier
Andreas Gampe [Tue, 9 Feb 2016 17:21:04 +0000 (09:21 -0800)]
ART: Give better error messages in dex-file verifier

Try to decode field and method names when an access-flag violation
has been found. This is not guaranteed to work, if the file is
broken enough.

Bug: 27064244
Bug: 27070841
Change-Id: Ie913076462e958d4f21b481631bc874cf6f67c0d

8 years agoDefault methods should not be found by getDeclaredMethod
Alex Light [Tue, 9 Feb 2016 18:42:50 +0000 (18:42 +0000)]
Default methods should not be found by getDeclaredMethod
am: 3b7027e261

* commit '3b7027e26106e7bfaa2bfae0f24489372f7ddbf0':
  Default methods should not be found by getDeclaredMethod

8 years agoDefault methods should not be found by getDeclaredMethod
Alex Light [Mon, 8 Feb 2016 18:30:04 +0000 (10:30 -0800)]
Default methods should not be found by getDeclaredMethod

(cherrypick commit 64fdc804f6b4d8a6f7d86bd9672e3bb1cde7056f)

Bug: 27060609

Change-Id: I77337f5d4c6bb9dd14f57012a9daa1e56a760f1a

8 years agoRevert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""
Bill Buzbee [Fri, 5 Feb 2016 14:08:10 +0000 (14:08 +0000)]
Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""

Fixes: missing sign extension in iget template
       Call to wrong branch profiling helper in arm/goto_16 and arm/goto_32
       Missing export PCs
Reworks: Branch handlers to reduce cost of branch profiling.

Re-enables Jit profiling for both Arm and Arm64.

Performance note:
Branch profiling is relatively expensive, though the real
cost will depend on branch frequency.  Taking a very
branch intensive benchmark, CaffeineMark's logic test, we
see the following scores (higher is better):

Mterp  (profiling off) 6187
Mterp  (profiling on)  4305

Switch (profiling off) 3931
Switch (profiling on)  2032

This reverts commit 95717f0010e7a9445450f4d39babfaf3a83e29b5.

Change-Id: Ia2ef8b54ce95bfa86178b89c43f8a703316b2944

8 years agoMerge "openjdkjvm: Don\'t leak the results of JVM_RawMonitorCreate."
Narayan Kamath [Tue, 9 Feb 2016 14:26:55 +0000 (14:26 +0000)]
Merge "openjdkjvm: Don\'t leak the results of JVM_RawMonitorCreate."
am: 96bbc8fcac

* commit '96bbc8fcac2d408e0afdcae933653198fb8bbe92':
  openjdkjvm: Don't leak the results of JVM_RawMonitorCreate.

8 years agoMerge "openjdkjvm: Don't leak the results of JVM_RawMonitorCreate."
Narayan Kamath [Tue, 9 Feb 2016 14:22:51 +0000 (14:22 +0000)]
Merge "openjdkjvm: Don't leak the results of JVM_RawMonitorCreate."

8 years agoopenjdkjvm: Don't leak the results of JVM_RawMonitorCreate.
Narayan Kamath [Tue, 9 Feb 2016 13:11:09 +0000 (13:11 +0000)]
openjdkjvm: Don't leak the results of JVM_RawMonitorCreate.

bug: 27050501

Change-Id: Ib0db3e5a1ec412de07455f09fe88b3102b347e46

8 years agoFix ARM64 Baker's read barrier fast path for ArraySet.
Roland Levillain [Tue, 9 Feb 2016 12:49:18 +0000 (12:49 +0000)]
Fix ARM64 Baker's read barrier fast path for ArraySet.

Do not exhaust the pool of scratch (temporary) registers
gratuitously when emitting an instrumented array load with a
large constant index.

Bug: 26817006
Bug: 12687968
Change-Id: I65a4fe676aa3c9e2c8d7e26195d9af6432c83ff9

8 years agoMerge "openjdkjvm: clean up verbose logging."
Narayan Kamath [Tue, 9 Feb 2016 11:38:43 +0000 (11:38 +0000)]
Merge "openjdkjvm: clean up verbose logging."
am: 17077d9090

* commit '17077d90907120d75cc4f534ce4de741da3bff2d':
  openjdkjvm: clean up verbose logging.

8 years agoMerge "openjdkjvm: clean up verbose logging."
Narayan Kamath [Tue, 9 Feb 2016 11:34:26 +0000 (11:34 +0000)]
Merge "openjdkjvm: clean up verbose logging."

8 years agoopenjdkjvm: clean up verbose logging.
Narayan Kamath [Fri, 5 Feb 2016 14:58:02 +0000 (14:58 +0000)]
openjdkjvm: clean up verbose logging.

bug: 26994173
Change-Id: I4b55d68fa89737e25e9d7b10b335423b3ea4bef2

8 years agoSome clean-up for the handling of HSelect in LSE
Mingyao Yang [Wed, 3 Feb 2016 13:46:57 +0000 (05:46 -0800)]
Some clean-up for the handling of HSelect in LSE

Use $noinline and throwing an Exception for doing no-inlining in
the test.
Also create reference info early for HSelect if it has reference
type, which may help the pre-existence-based alias analysis.

Change-Id: Ia825058a457b049f87a13087bb78f5233513e0a8

8 years agoMerge "Check pages are readable after mprotect for SEGV_ACCERR diagnosis"
Hiroshi Yamauchi [Tue, 9 Feb 2016 02:25:11 +0000 (02:25 +0000)]
Merge "Check pages are readable after mprotect for SEGV_ACCERR diagnosis"
am: 5b00f4169f

* commit '5b00f4169f1a153f85216f8624cfbd691458060f':
  Check pages are readable after mprotect for SEGV_ACCERR diagnosis

8 years agoMerge "Check pages are readable after mprotect for SEGV_ACCERR diagnosis"
Hiroshi Yamauchi [Tue, 9 Feb 2016 02:19:30 +0000 (02:19 +0000)]
Merge "Check pages are readable after mprotect for SEGV_ACCERR diagnosis"

8 years agoCheck pages are readable after mprotect for SEGV_ACCERR diagnosis
Hiroshi Yamauchi [Mon, 8 Feb 2016 22:18:21 +0000 (14:18 -0800)]
Check pages are readable after mprotect for SEGV_ACCERR diagnosis

We have a suspected mprotect issue where we see seg faults after pages
are mprotected with PROT_READ|PROT_WRITE with the SS collector on
host. This change attempts to see if earlier reads would cause faults
similarly.

Bug: 19894268

Change-Id: I041a663c6b55b747120915f73a0db5f566744ed8

8 years agoMerge "Default methods should not be found by getDeclaredMethod"
Alex Light [Mon, 8 Feb 2016 22:35:23 +0000 (22:35 +0000)]
Merge "Default methods should not be found by getDeclaredMethod"
am: e4ddacdb1f

* commit 'e4ddacdb1f0798e084b9ce2de7acac797f2c0a75':
  Default methods should not be found by getDeclaredMethod

8 years agoMerge "Default methods should not be found by getDeclaredMethod"
Alex Light [Mon, 8 Feb 2016 21:54:56 +0000 (21:54 +0000)]
Merge "Default methods should not be found by getDeclaredMethod"

8 years agoMerge "Revert "Make it possible to enable native debugging through debug flags""
Tamas Berghammer [Mon, 8 Feb 2016 20:42:44 +0000 (20:42 +0000)]
Merge "Revert "Make it possible to enable native debugging through debug flags""
am: 9fab717bb6

* commit '9fab717bb67e6d141ca7a6d6c33adbf5b9d3dba7':
  Revert "Make it possible to enable native debugging through debug flags"

8 years agoMerge "Revert "Make it possible to enable native debugging through debug flags""
Tamas Berghammer [Mon, 8 Feb 2016 20:26:26 +0000 (20:26 +0000)]
Merge "Revert "Make it possible to enable native debugging through debug flags""

8 years agoRevert "Make it possible to enable native debugging through debug flags"
Tamas Berghammer [Mon, 8 Feb 2016 20:21:54 +0000 (20:21 +0000)]
Revert "Make it possible to enable native debugging through debug flags"

The change causes issues in test-art-target-gtest-jni_internal_test32

This reverts commit c94a61f06ffc13288c67891048128c987b29bf33.

Change-Id: Iecfe3c6874d7b0dd59f10156fe2eb743ab7221dc