OSDN Git Service

android-x86/art.git
8 years agoStore precice set of which constructors require barriers
Mathieu Chartier [Sat, 9 Apr 2016 00:31:34 +0000 (00:31 +0000)]
Store precice set of which constructors require barriers
am: b7248b9  -s ours

* commit 'b7248b9f1a6d62a30f0cefc12de63c216b5d46e2':
  Store precice set of which constructors require barriers

Change-Id: I7567dd7c7ebdff664f36d07c7f5ce5cc743e854b

8 years agoMerge "Make sure non-fatal errors aren\'t printed." am: dea5933
Alex Light [Fri, 8 Apr 2016 19:06:56 +0000 (19:06 +0000)]
Merge "Make sure non-fatal errors aren\'t printed." am: dea5933
am: 24d5417

* commit '24d54171033021ba6bab8a099292fd5ee502ab39':
  Make sure non-fatal errors aren't printed.

Change-Id: Ib38340f234e73e513010a9f438fd3aad5f8c2621

8 years agoMerge "ART: Refactor imgdiag internals" am: c52e3f9
Andreas Gampe [Fri, 8 Apr 2016 18:58:46 +0000 (18:58 +0000)]
Merge "ART: Refactor imgdiag internals" am: c52e3f9
am: a35bde7

* commit 'a35bde7cf6cc9b6480569a1a9aba0a60f10a5295':
  ART: Refactor imgdiag internals

Change-Id: I2c669814dd521a2c02932bb5480e4c9f3bc3d93b

8 years agoMerge "Make sure non-fatal errors aren\'t printed."
Alex Light [Fri, 8 Apr 2016 18:58:45 +0000 (18:58 +0000)]
Merge "Make sure non-fatal errors aren\'t printed."
am: dea5933

* commit 'dea59334a2bf9f7709fdb1874c5db6e9537bc291':
  Make sure non-fatal errors aren't printed.

Change-Id: I2e8e6e5db320825e2d4cc4cbb931277181f0ed33

8 years agoMerge "ART: Refactor imgdiag internals"
Andreas Gampe [Fri, 8 Apr 2016 18:49:35 +0000 (18:49 +0000)]
Merge "ART: Refactor imgdiag internals"
am: c52e3f9

* commit 'c52e3f9e300d5c3f30f13a7812f0ff7aa8d9a4b1':
  ART: Refactor imgdiag internals

Change-Id: I32cf0bcb4f4431562c32e510930e2b76dd738d80

8 years agoMerge "Make sure non-fatal errors aren't printed."
Alex Light [Fri, 8 Apr 2016 18:42:03 +0000 (18:42 +0000)]
Merge "Make sure non-fatal errors aren't printed."

8 years agoMerge "ART: Refactor imgdiag internals"
Andreas Gampe [Fri, 8 Apr 2016 18:33:25 +0000 (18:33 +0000)]
Merge "ART: Refactor imgdiag internals"

8 years agoMerge changes from topic \'rr_barrier\' am: e835f3a
Mathieu Chartier [Fri, 8 Apr 2016 18:16:15 +0000 (18:16 +0000)]
Merge changes from topic \'rr_barrier\' am: e835f3a
am: 5cf09ba

* commit '5cf09ba6aba1d456ecc5b47085616914c490c708':
  Store precice set of which constructors require barriers
  Revert "Revert "Check if we require barrier if we did not resolve classes""
  Revert "Revert "Change RequiresConstructorBarrier default to yes""

Change-Id: I0eac446a8b1b712fb3678d87d1be4b07aba7fffe

8 years agoMerge changes from topic \'rr_barrier\'
Mathieu Chartier [Fri, 8 Apr 2016 18:07:07 +0000 (18:07 +0000)]
Merge changes from topic \'rr_barrier\'
am: e835f3a

* commit 'e835f3a2e4a7af404e61a88058712f77737d87cd':
  Store precice set of which constructors require barriers
  Revert "Revert "Check if we require barrier if we did not resolve classes""
  Revert "Revert "Change RequiresConstructorBarrier default to yes""

Change-Id: Ib0083850b2870223c13e1aa3128f5f656de868e8

8 years agoStore precice set of which constructors require barriers
Mathieu Chartier [Thu, 7 Apr 2016 20:19:19 +0000 (13:19 -0700)]
Store precice set of which constructors require barriers

Fixes bugs where things in the boot image might not have been
calculated even though resolved_clases was true. This only occured
for app and test compiles though.

Fixes test 476-checker-ctor-memory-barrier which was failing due to
inlining something in the boot class path and getting a unexpected
barrier since the barrier defaults to enabled.

No measurable increase in RAM usage.

(cherry picked from commit c4ae916def97b9e1ef6df35c8fabb3921a0e380c)

Bug: 28005874

Change-Id: I4a417819aa129c95f4a83c38df1a66eb77824ea9

8 years agoMerge "ART: Fix race in on-stack replacement" am: 250a23c
Bill Buzbee [Fri, 8 Apr 2016 17:52:25 +0000 (17:52 +0000)]
Merge "ART: Fix race in on-stack replacement" am: 250a23c
am: 4766a4a

* commit '4766a4af2bd5e3fe8433fe758db94921b6b1bb15':
  ART: Fix race in on-stack replacement

Change-Id: Ib7fd162bdbd4ea62e1803a7420435a140c566456

8 years agoMerge changes from topic 'rr_barrier'
Mathieu Chartier [Fri, 8 Apr 2016 17:50:05 +0000 (17:50 +0000)]
Merge changes from topic 'rr_barrier'

* changes:
  Store precice set of which constructors require barriers
  Revert "Revert "Check if we require barrier if we did not resolve classes""
  Revert "Revert "Change RequiresConstructorBarrier default to yes""

8 years agoMerge "ART: Fix race in on-stack replacement"
buzbee [Fri, 8 Apr 2016 17:45:20 +0000 (17:45 +0000)]
Merge "ART: Fix race in on-stack replacement"
am: 250a23c

* commit '250a23c892bb809267325c0744c6f70fca49ac94':
  ART: Fix race in on-stack replacement

Change-Id: I73be63f71d7ad8c91ee617dee8e812cabf8bbbd3

8 years agoStore precice set of which constructors require barriers
Mathieu Chartier [Thu, 7 Apr 2016 20:19:19 +0000 (13:19 -0700)]
Store precice set of which constructors require barriers

Fixes bugs where things in the boot image might not have been
calculated even though resolved_clases was true. This only occured
for app and test compiles though.

Fixes test 476-checker-ctor-memory-barrier which was failing due to
inlining something in the boot class path and getting a unexpected
barrier since the barrier defaults to enabled.

No measurable increase in RAM usage.

Bug: 28005874

Change-Id: I4a417819aa129c95f4a83c38df1a66eb77824ea9

8 years agoMerge "ART: Fix race in on-stack replacement"
Bill Buzbee [Fri, 8 Apr 2016 17:28:49 +0000 (17:28 +0000)]
Merge "ART: Fix race in on-stack replacement"

8 years agoMake sure non-fatal errors aren't printed.
Alex Light [Fri, 8 Apr 2016 16:44:54 +0000 (09:44 -0700)]
Make sure non-fatal errors aren't printed.

During run-test setup `du` can print error messages if the folder it
is running on is modified during its execution. We silence these error
messages since they shouldn't affect the validity of the test.

Change-Id: I9f59e39c2a346414f025ce1fa79b453329080d30

8 years agoMerge "Ignore libcore.java.lang.ThreadTest failures on device." am: 6c5d868
Roland Levillain [Fri, 8 Apr 2016 16:18:48 +0000 (16:18 +0000)]
Merge "Ignore libcore.java.lang.ThreadTest failures on device." am: 6c5d868
am: 2b63a40

* commit '2b63a40b125fbe0904947d523c66d1eb71a71796':
  Ignore libcore.java.lang.ThreadTest failures on device.

Change-Id: I499ed39f2fe7c64dd391b60c68dd7b4863b57276

8 years agoMerge "Ignore libcore.java.lang.ThreadTest failures on device."
Roland Levillain [Fri, 8 Apr 2016 16:13:59 +0000 (16:13 +0000)]
Merge "Ignore libcore.java.lang.ThreadTest failures on device."
am: 6c5d868

* commit '6c5d868c94401aeb7596d5d36380b61c7ed81222':
  Ignore libcore.java.lang.ThreadTest failures on device.

Change-Id: I531a2a34824bdaadfacde195dfd179ceccfb9e62

8 years agoART: Fix race in on-stack replacement
buzbee [Thu, 7 Apr 2016 21:42:47 +0000 (14:42 -0700)]
ART: Fix race in on-stack replacement

The expected sequence of events for on-stack replacement is:

   1. Method goes warm, triggering enhanced profiling
   2. Method goes hot, triggering method compilation
   3. Method goes really hot, triggering an osr method compilation.
   4. Interpreter polls for the existence of an osr entry point,
      and transitons to compiled code if found.

We have a race problem if #2 and #3 happen closely together, and
the osr method compilation begins before the regular method
compilation.  In that case, the jit sees that the method is
already being compiled (the osr method - but it does not
distinguish the two), and discards the normal compilation request.
So, the osr version is compiled and the normal version is discarded.
In #4, the MaybeDoOnStackReplacement() check assumes that a normal
version of the compiled method must exist before doing an on-stack
replacement, so it keeps returning false.

This is why we were seeing sporadic timeout failures of
570-checker-osr when the mterp fast branch profiling was
introduced.  The branch profiling performance enhancements
greatly reduced the time between #2 and #3, increasing the liklihood
of losing the race.  Further, the new code clamped hotness to avoid
wrap-around.  The race existed (and likely occurred) in the previous
version, but because hotness counters were allowed to overflow and
wrap around you'd eventually hit the threshold a second time and
try again - masking the problem.

Tip 'o the hat to Serguei Katkov for identifying the problem.

A possible solution (taken in this CL) is to differentiate osr
compilations from normal method compilations.

Bug: 27939339
Change-Id: I71044516b35dc69de9fc2d2a445e33809ac650ed

8 years agoMerge "Ignore libcore.java.lang.ThreadTest failures on device."
Roland Levillain [Fri, 8 Apr 2016 16:01:18 +0000 (16:01 +0000)]
Merge "Ignore libcore.java.lang.ThreadTest failures on device."

8 years agoIgnore libcore.java.lang.ThreadTest failures on device.
Roland Levillain [Fri, 8 Apr 2016 15:04:11 +0000 (16:04 +0100)]
Ignore libcore.java.lang.ThreadTest failures on device.

Since https://android-review.googlesource.com/#/c/209427
has been merged, libcore.java.lang.ThreadTest tests are
failing with this error on ARM64:

  java.lang.UnsatisfiedLinkError: dlopen failed: library "libnativehelper_compat_libc++.so" not found
      at java.lang.Runtime.loadLibrary0(Runtime.java:977)
      at java.lang.System.loadLibrary(System.java:1628)
      at libcore.java.lang.ThreadTest.<clinit>(ThreadTest.java:26)

Ignore those failures for now to make the build turn green
again, while we investigate.

Bug: 28082914
Change-Id: Ia8c3c776c99aace06701479d1440c828d39cbec3

8 years agoMerge "Fix combined checksum calculation to use isa." am: 82a0229
Jeff Hao [Fri, 8 Apr 2016 08:12:40 +0000 (08:12 +0000)]
Merge "Fix combined checksum calculation to use isa." am: 82a0229
am: a5bfd62

* commit 'a5bfd6228ce2d36c342e240e0cd5d6d06d8388e7':
  Fix combined checksum calculation to use isa.

Change-Id: I6b7ad47114b6770bf062286629f0297dc97596fb

8 years agoMerge "Combine checksum of all boot images." am: 9863b6c
Jeff Hao [Fri, 8 Apr 2016 08:12:39 +0000 (08:12 +0000)]
Merge "Combine checksum of all boot images." am: 9863b6c
am: 6c24b6a  -s ours

* commit '6c24b6a91bf2d75ec93452ba5f85e3def9d7ee60':
  Combine checksum of all boot images.

Change-Id: I7214920053576d77c324cbd477c2800eb60f76c1

8 years agoMerge "Fix combined checksum calculation to use isa."
Jeff Hao [Fri, 8 Apr 2016 03:23:36 +0000 (03:23 +0000)]
Merge "Fix combined checksum calculation to use isa."
am: 82a0229

* commit '82a0229e949eb3ea209c2bd33fe2d60908f5dbc7':
  Fix combined checksum calculation to use isa.

Change-Id: I94ed5fb0d1a738111974e8bf502251859e8df855

8 years agoMerge "Combine checksum of all boot images."
Jeff Hao [Fri, 8 Apr 2016 03:23:36 +0000 (03:23 +0000)]
Merge "Combine checksum of all boot images."
am: 9863b6c

* commit '9863b6cd07945b83d3a91a27c94963d8b313df2d':
  Combine checksum of all boot images.

Change-Id: I1926eeff7d3e69bc2925fa7507fbe845bb982899

8 years agoMerge "Fix combined checksum calculation to use isa."
Jeff Hao [Fri, 8 Apr 2016 03:16:37 +0000 (03:16 +0000)]
Merge "Fix combined checksum calculation to use isa."

8 years agoMerge "Combine checksum of all boot images."
Jeff Hao [Fri, 8 Apr 2016 03:16:24 +0000 (03:16 +0000)]
Merge "Combine checksum of all boot images."

8 years agoFix combined checksum calculation to use isa.
Jeff Hao [Fri, 8 Apr 2016 02:46:31 +0000 (19:46 -0700)]
Fix combined checksum calculation to use isa.

Bug: 28054110

(cherry-picked from commit 8bbda8e683a1933755d0b8a68fed620cd63148ee)

Change-Id: I228db6ea1003e4e70d6a5fa7345d56409e70bd87

8 years agoFix combined checksum calculation to use isa.
Jeff Hao [Fri, 8 Apr 2016 02:57:27 +0000 (02:57 +0000)]
Fix combined checksum calculation to use isa.
am: 539d38c

* commit '539d38c67c521aa17741a41fc4c4462b576adfd9':
  Fix combined checksum calculation to use isa.

Change-Id: I6a67cd930954248451f7948f3ae366595c0b83cc

8 years agoCombine checksum of all boot images.
Jeff Hao [Thu, 7 Apr 2016 22:40:54 +0000 (15:40 -0700)]
Combine checksum of all boot images.

Allows a change to be detected in more than just the first image.
Combines checksums of all boot images using xor. A better hash is left
as TODO.

Bug: 28054110

(cherry-picked from commit 4f351aae00f43dd4e3290976f249d3664cc47091)

Change-Id: Ia557e2460ca582082368ef93508c04ce32c3036a

8 years agoFix combined checksum calculation to use isa.
Jeff Hao [Fri, 8 Apr 2016 02:46:31 +0000 (19:46 -0700)]
Fix combined checksum calculation to use isa.

Bug: 28054110
Change-Id: Ifcd1b0c4549a22bf4181f8acad222da05ac9f1ce

8 years agoCombine checksum of all boot images.
Jeff Hao [Fri, 8 Apr 2016 01:51:38 +0000 (01:51 +0000)]
Combine checksum of all boot images.
am: 4f351aa

* commit '4f351aae00f43dd4e3290976f249d3664cc47091':
  Combine checksum of all boot images.

Change-Id: Ife392ac22d5cb97035468408db0818ca06ad338b

8 years agoCombine checksum of all boot images.
Jeff Hao [Thu, 7 Apr 2016 22:40:54 +0000 (15:40 -0700)]
Combine checksum of all boot images.

Allows a change to be detected in more than just the first image.
Combines checksums of all boot images using xor. A better hash is left
as TODO.

Bug: 28054110
Change-Id: Ifbdd6cbb0104c95e8926ba4f8a207cc72dbb7f79

8 years agoMerge "ART: Fix interpreter single-step when doing OSR" am: dc80925
Bill Buzbee [Fri, 8 Apr 2016 00:03:10 +0000 (00:03 +0000)]
Merge "ART: Fix interpreter single-step when doing OSR" am: dc80925
am: dc7e534

* commit 'dc7e534cd0a56380bf0d1934a368f90495c39064':
  ART: Fix interpreter single-step when doing OSR

Change-Id: Icc4ca25b95e1100e438e125ac8ecee7c851ed4e6

8 years agoMerge "ART: Fix interpreter single-step when doing OSR"
buzbee [Thu, 7 Apr 2016 23:59:31 +0000 (23:59 +0000)]
Merge "ART: Fix interpreter single-step when doing OSR"
am: dc80925

* commit 'dc8092521b50b108607ed54afde94d20a22468df':
  ART: Fix interpreter single-step when doing OSR

Change-Id: I717599ea10d051b56167b82784087c48631ef322

8 years agoMerge "ART: Fix interpreter single-step when doing OSR"
Bill Buzbee [Thu, 7 Apr 2016 23:47:55 +0000 (23:47 +0000)]
Merge "ART: Fix interpreter single-step when doing OSR"

8 years agoRemove AnnotationAccess and its remaining uses.
Jeff Hao [Thu, 7 Apr 2016 22:35:02 +0000 (22:35 +0000)]
Remove AnnotationAccess and its remaining uses.
am: 0830532

* commit '08305325d3468d5ef413eb0b36b1ea1b3746a6c4':
  Remove AnnotationAccess and its remaining uses.

Change-Id: Ic66ac22c300d6e372e15d1f8e6ee329a24f44844

8 years agoART: Fix interpreter single-step when doing OSR
buzbee [Thu, 7 Apr 2016 20:52:48 +0000 (13:52 -0700)]
ART: Fix interpreter single-step when doing OSR

Records an interpreter exit when in single-step mode and we've
finished processing the method via on-stack replacement.

Change-Id: I7a7d9ee9e4f3fbf7f829d9f54eca0e7c64395003

8 years agoMerge changes Ie23877ac,I262f6be8 am: f2197e4
Hiroshi Yamauchi [Thu, 7 Apr 2016 21:56:02 +0000 (21:56 +0000)]
Merge changes Ie23877ac,I262f6be8 am: f2197e4
am: 39881e2

* commit '39881e263e6844766dbca14509226b87e5cf65f8':
  Revert "Disable some image_test cases with concurrent collector."
  Fix image_test for the CC collector.

Change-Id: I226b9341418d659a8dc59ba1465a8023fd034c88

8 years agoMerge changes Ie23877ac,I262f6be8
Hiroshi Yamauchi [Thu, 7 Apr 2016 21:18:29 +0000 (21:18 +0000)]
Merge changes Ie23877ac,I262f6be8
am: f2197e4

* commit 'f2197e43f42499be852a0fce2d755f25e2007be8':
  Revert "Disable some image_test cases with concurrent collector."
  Fix image_test for the CC collector.

Change-Id: I91f1527c9b32cc3889b64a8c30486ee9c0a29f16

8 years agoMerge changes Ie23877ac,I262f6be8
Hiroshi Yamauchi [Thu, 7 Apr 2016 21:10:54 +0000 (21:10 +0000)]
Merge changes Ie23877ac,I262f6be8

* changes:
  Revert "Disable some image_test cases with concurrent collector."
  Fix image_test for the CC collector.

8 years agoRevert "Disable some image_test cases with concurrent collector."
Hiroshi Yamauchi [Thu, 7 Apr 2016 18:44:50 +0000 (11:44 -0700)]
Revert "Disable some image_test cases with concurrent collector."

This reverts commit d52765768b634c6f32a9bddd5c1269f26d32ea3a.

Bug: 27578460
Change-Id: Ie23877ac5332e05805c251749159e8f00af4ac8c

8 years agoFix image_test for the CC collector.
Hiroshi Yamauchi [Thu, 7 Apr 2016 18:31:26 +0000 (11:31 -0700)]
Fix image_test for the CC collector.

Increase the image address space reserve.

Bug: 27578460
Change-Id: I262f6be81c496a7a777013702e3da74ea4d619b4

8 years agoRemove AnnotationAccess and its remaining uses.
Jeff Hao [Tue, 5 Apr 2016 02:50:14 +0000 (19:50 -0700)]
Remove AnnotationAccess and its remaining uses.

Art side of this change. Adds a test to ensure annotations not marked
for runtime retention can't be seen at runtime.

Bug: 27912552

(cherry picked from commit 1133db79350060158f99210c56f111c6dad43563)

Change-Id: I090a90bc82fc9b5e51aba02dcb3d8cccb6fb0f90

8 years agoMerge "Remove AnnotationAccess and its remaining uses." am: 2c6760a
Jeff Hao [Thu, 7 Apr 2016 18:16:57 +0000 (18:16 +0000)]
Merge "Remove AnnotationAccess and its remaining uses." am: 2c6760a
am: 5b2f8e0

* commit '5b2f8e07a1859762c30c3a1f792594c34ffc0b18':
  Remove AnnotationAccess and its remaining uses.

Change-Id: Ib9ebea19b91f5ba3345b372ea50b8391e01ce8b3

8 years agoMerge "Remove AnnotationAccess and its remaining uses."
Jeff Hao [Thu, 7 Apr 2016 18:12:58 +0000 (18:12 +0000)]
Merge "Remove AnnotationAccess and its remaining uses."
am: 2c6760a

* commit '2c6760a0eb1e05d3a89a6cca9d2746da3d547e9e':
  Remove AnnotationAccess and its remaining uses.

Change-Id: I40401184b8576440585d6e1c4f7d138965887c30

8 years agoMerge "Remove AnnotationAccess and its remaining uses."
Jeff Hao [Thu, 7 Apr 2016 18:06:13 +0000 (18:06 +0000)]
Merge "Remove AnnotationAccess and its remaining uses."

8 years agoRevert "Revert "Check if we require barrier if we did not resolve classes""
Mathieu Chartier [Thu, 7 Apr 2016 17:52:52 +0000 (10:52 -0700)]
Revert "Revert "Check if we require barrier if we did not resolve classes""

This reverts commit a7ab4997f7263439561093ffbc7dea29181a47c5.

8 years agoRevert "Revert "Change RequiresConstructorBarrier default to yes""
Mathieu Chartier [Thu, 7 Apr 2016 17:19:48 +0000 (10:19 -0700)]
Revert "Revert "Change RequiresConstructorBarrier default to yes""

This reverts commit 0436ee6bd33a0b905cd2a7e333f7935da1bd5d86.

8 years agoMerge "Remove more Quick-related macros in tests." am: 7fa1f92
Roland Levillain [Thu, 7 Apr 2016 16:24:08 +0000 (16:24 +0000)]
Merge "Remove more Quick-related macros in tests." am: 7fa1f92
am: be72bec

* commit 'be72beca9ec185c85d1cd16c2c23b24cfefe1f4d':
  Remove more Quick-related macros in tests.

Change-Id: Ic7caa127a2a43cce96d47ffd9cb7bcb49121e463

8 years agoMerge "Remove more Quick-related macros in tests."
Roland Levillain [Thu, 7 Apr 2016 16:20:25 +0000 (16:20 +0000)]
Merge "Remove more Quick-related macros in tests."
am: 7fa1f92

* commit '7fa1f92cbf98c40baa00c6fb9331ec7ac72abfa8':
  Remove more Quick-related macros in tests.

Change-Id: I001069102af646ac0a53d9cbbb106a61199b42c6

8 years agoMerge "Revert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""...
David Brazdil [Thu, 7 Apr 2016 16:16:29 +0000 (16:16 +0000)]
Merge "Revert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""" am: 8913162
am: 9eff981

* commit '9eff98156ec2924c47bf816650a8ee127f74502f':
  Revert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""

Change-Id: Idc9951c9ae6463c75662a553c3848ef66d64184d

8 years agoMerge "Revert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals"""
David Brazdil [Thu, 7 Apr 2016 16:13:12 +0000 (16:13 +0000)]
Merge "Revert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals"""
am: 8913162

* commit '8913162a5959035f100f608fd5ccc348cf3922cf':
  Revert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""

Change-Id: I5697e5764208115f7bdd9e70e6322cefa2451c77

8 years agoMerge "Remove more Quick-related macros in tests."
Roland Levillain [Thu, 7 Apr 2016 16:13:10 +0000 (16:13 +0000)]
Merge "Remove more Quick-related macros in tests."

8 years agoMerge "Revert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals"""
David Brazdil [Thu, 7 Apr 2016 16:03:51 +0000 (16:03 +0000)]
Merge "Revert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals"""

8 years agoRevert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""
David Brazdil [Thu, 7 Apr 2016 09:54:26 +0000 (09:54 +0000)]
Revert "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""

This patch merges the instruction-building phases from HGraphBuilder
and SsaBuilder into a single HInstructionBuilder class. As a result,
it is not necessary to generate HLocal, HLoadLocal and HStoreLocal
instructions any more, as the builder produces SSA form directly.

Saves 5-15% of arena-allocated memory (see bug for more data):
  GMS      20.46MB  =>  19.26MB  (-5.86%)
  Maps     24.12MB  =>  21.47MB  (-10.98%)
  YouTube  28.60MB  =>  26.01MB  (-9.05%)

This CL fixed an issue with parsing quickened instructions.

Bug: 27894376
Bug: 27998571
Bug: 27995065

Change-Id: I20dbe1bf2d0fe296377478db98cb86cba695e694

8 years agoRemove more Quick-related macros in tests.
Roland Levillain [Wed, 6 Apr 2016 17:23:01 +0000 (18:23 +0100)]
Remove more Quick-related macros in tests.

Remove these macros, as Quick is gone:
- TEST_DISABLED_FOR_HEAP_REFERENCE_POISONING_WITH_QUICK
- TEST_DISABLED_FOR_READ_BARRIER_WITH_QUICK

Also remove TEST_DISABLED_FOR_NON_PIC_COMPILING_WITH_OPTIMIZING,
as it is no longer used anywhere.

Change-Id: I78617fc060b7727f9b6fffcb2348d6fca01b4928

8 years agoMerge "Revert "Change RequiresConstructorBarrier default to yes"" am: 950dd55
Roland Levillain [Thu, 7 Apr 2016 15:10:11 +0000 (15:10 +0000)]
Merge "Revert "Change RequiresConstructorBarrier default to yes"" am: 950dd55
am: d3d2747

* commit 'd3d2747626c003c014d7d771db1035b5f3f0c8e1':
  Revert "Change RequiresConstructorBarrier default to yes"

Change-Id: Ib329d3c20da29b28cade87a1c6fb71926f4a07eb

8 years agoMerge "Revert "Check if we require barrier if we did not resolve classes"" am: 35d6a42
Roland Levillain [Thu, 7 Apr 2016 15:10:10 +0000 (15:10 +0000)]
Merge "Revert "Check if we require barrier if we did not resolve classes"" am: 35d6a42
am: bc5334e

* commit 'bc5334e68da1a17e6c24435756a25607394d23cd':
  Revert "Check if we require barrier if we did not resolve classes"

Change-Id: Ic7c3fc1c68c72353f7393373690deb9bd85af46a

8 years agoMerge "Revert "Change RequiresConstructorBarrier default to yes""
Roland Levillain [Thu, 7 Apr 2016 15:06:54 +0000 (15:06 +0000)]
Merge "Revert "Change RequiresConstructorBarrier default to yes""
am: 950dd55

* commit '950dd553041b324e9e343a60d94d45596b5c7926':
  Revert "Change RequiresConstructorBarrier default to yes"

Change-Id: Idc9003dc03b001eb248866eef9edf35752d60e59

8 years agoMerge "Revert "Check if we require barrier if we did not resolve classes""
Roland Levillain [Thu, 7 Apr 2016 15:06:54 +0000 (15:06 +0000)]
Merge "Revert "Check if we require barrier if we did not resolve classes""
am: 35d6a42

* commit '35d6a426c699da05ee6f962cfbe426b7d638780a':
  Revert "Check if we require barrier if we did not resolve classes"

Change-Id: I4e7cb7257bb9b5949d1d05526c647e8fc1ed48f2

8 years agoMerge "Revert "Change RequiresConstructorBarrier default to yes""
Roland Levillain [Thu, 7 Apr 2016 14:58:32 +0000 (14:58 +0000)]
Merge "Revert "Change RequiresConstructorBarrier default to yes""

8 years agoRevert "Change RequiresConstructorBarrier default to yes"
Roland Levillain [Thu, 7 Apr 2016 14:58:12 +0000 (14:58 +0000)]
Revert "Change RequiresConstructorBarrier default to yes"

CL https://android-review.googlesource.com/#/c/213119/ is
breaking run-test 476-checker-ctor-memory-barrier on ARM
and ARM64.

Bug: 28005874

This reverts commit f2f0f4b0b9185fe0b6d1fb22744a871c96296db2.

Change-Id: Ic6e97ab07358406c07c654ac9de700f0186f15f8

8 years agoMerge "Revert "Check if we require barrier if we did not resolve classes""
Roland Levillain [Thu, 7 Apr 2016 14:57:50 +0000 (14:57 +0000)]
Merge "Revert "Check if we require barrier if we did not resolve classes""

8 years agoRevert "Check if we require barrier if we did not resolve classes"
Roland Levillain [Thu, 7 Apr 2016 14:56:58 +0000 (14:56 +0000)]
Revert "Check if we require barrier if we did not resolve classes"

CL https://android-review.googlesource.com/#/c/213119/ is
breaking run-test 476-checker-ctor-memory-barrier on ARM
and ARM64, and reverting it requires reverting this CL
(https://android-review.googlesource.com/#/c/213109/)
first.

Bug: 28005874

This reverts commit 20fd7cdd25364b16d878df037c6ae0fbd5f2a9ac.

Change-Id: Iaf174b2df3dd4dd469c79ca3f2c68ef87748d124

8 years agoMerge "Thumb2: Show the immediate in ROR (immediate) disassembly." am: 173e99a
Vladimir Marko [Thu, 7 Apr 2016 14:47:32 +0000 (14:47 +0000)]
Merge "Thumb2: Show the immediate in ROR (immediate) disassembly." am: 173e99a
am: 704da2f

* commit '704da2f8e81659f98f3df9ed6924ec0349936f87':
  Thumb2: Show the immediate in ROR (immediate) disassembly.

Change-Id: I8c73cdacd92ccd22138d32addc4a5682f0130be7

8 years agoMerge "Thumb2: Show the immediate in ROR (immediate) disassembly."
Vladimir Marko [Thu, 7 Apr 2016 14:44:16 +0000 (14:44 +0000)]
Merge "Thumb2: Show the immediate in ROR (immediate) disassembly."
am: 173e99a

* commit '173e99a73e535f07bc32fc76d3ff9f987caeffda':
  Thumb2: Show the immediate in ROR (immediate) disassembly.

Change-Id: If5d0d4b38f673d4c1a7353ab2f1a7def5a086afe

8 years agoMerge "Thumb2: Show the immediate in ROR (immediate) disassembly."
Vladimir Marko [Thu, 7 Apr 2016 14:38:29 +0000 (14:38 +0000)]
Merge "Thumb2: Show the immediate in ROR (immediate) disassembly."

8 years agoMerge "Add 20s timeout to 570-checker-osr." am: 748ad81
Vladimir Marko [Thu, 7 Apr 2016 12:23:34 +0000 (12:23 +0000)]
Merge "Add 20s timeout to 570-checker-osr." am: 748ad81
am: 522354b

* commit '522354b3f7c76970eb37be50836b8473e301286c':
  Add 20s timeout to 570-checker-osr.

Change-Id: I282bd15ba2465c5225933a22ebdcce4094bd36ea

8 years agoMerge "Add 20s timeout to 570-checker-osr."
Vladimir Marko [Thu, 7 Apr 2016 12:20:26 +0000 (12:20 +0000)]
Merge "Add 20s timeout to 570-checker-osr."
am: 748ad81

* commit '748ad81ef56f0d9afb431f3ba658884f16289479':
  Add 20s timeout to 570-checker-osr.

Change-Id: If8e78c2d2d30f08e9cd44c62225f4df81315ca55

8 years agoMerge "Add 20s timeout to 570-checker-osr."
Vladimir Marko [Thu, 7 Apr 2016 12:12:35 +0000 (12:12 +0000)]
Merge "Add 20s timeout to 570-checker-osr."

8 years agoAdd 20s timeout to 570-checker-osr.
Vladimir Marko [Thu, 7 Apr 2016 09:12:31 +0000 (10:12 +0100)]
Add 20s timeout to 570-checker-osr.

It's better to report a timeout than to hang indefinitely.

Change-Id: Ibfa8059c8b44220c7a55801b020094fc342c8047

8 years agoMerge "Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod." am: 391e155
Vladimir Marko [Thu, 7 Apr 2016 09:27:13 +0000 (09:27 +0000)]
Merge "Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod." am: 391e155
am: 5a39d8b

* commit '5a39d8b1c408dca0757c02a1b472470312834f45':
  Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod.

Change-Id: I26c95ffd138ff7fa49c1e8be23e3a61cf2e66aa2

8 years agoMerge "Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod."
Vladimir Marko [Thu, 7 Apr 2016 09:24:19 +0000 (09:24 +0000)]
Merge "Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod."
am: 391e155

* commit '391e155a6936a05bd39b171031ec21d2dee62133':
  Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod.

Change-Id: I432e9ad415c56717f3e8090261d4c39dc6a74cef

8 years agoMerge "Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod."
Vladimir Marko [Thu, 7 Apr 2016 09:18:36 +0000 (09:18 +0000)]
Merge "Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod."

8 years agoMerge "Move optimizations out of HInliner::TryBuildAndInlineHelper." am: 791947d
Roland Levillain [Thu, 7 Apr 2016 09:17:29 +0000 (09:17 +0000)]
Merge "Move optimizations out of HInliner::TryBuildAndInlineHelper." am: 791947d
am: 211a390

* commit '211a3903da62e60ab9218d395941c566f5078954':
  Move optimizations out of HInliner::TryBuildAndInlineHelper.

Change-Id: I289ab05e21d1bf02da532d94f875aec7f5a9fc67

8 years agoMerge "Move optimizations out of HInliner::TryBuildAndInlineHelper."
Roland Levillain [Thu, 7 Apr 2016 09:14:21 +0000 (09:14 +0000)]
Merge "Move optimizations out of HInliner::TryBuildAndInlineHelper."
am: 791947d

* commit '791947dc6284b6f28bb6fdbe1b585eb3cf821e44':
  Move optimizations out of HInliner::TryBuildAndInlineHelper.

Change-Id: I6f3e248be49ef5de0e472e493e5baaef12b46109

8 years agoMerge "Move optimizations out of HInliner::TryBuildAndInlineHelper."
Roland Levillain [Thu, 7 Apr 2016 09:08:06 +0000 (09:08 +0000)]
Merge "Move optimizations out of HInliner::TryBuildAndInlineHelper."

8 years agoMerge changes I775a57c9,I14c0836f,I075c1b11 am: e7fbbe4
Andreas Gampe [Thu, 7 Apr 2016 00:52:44 +0000 (00:52 +0000)]
Merge changes I775a57c9,I14c0836f,I075c1b11 am: e7fbbe4
am: db9cb1c

* commit 'db9cb1cf5b66413f92082f75b3ae10f75874dd38':
  ART: Add cutout for Unsafe.putObjectVolatile
  ART: Add integer & long parsing cutout to unstarted runtime
  ART: Add getDeclaredConstructor cutout for unstarted runtime

Change-Id: Iea6a95cf0a352335e15714935a80f741dd1598cc

8 years agoMerge changes I775a57c9,I14c0836f,I075c1b11
Andreas Gampe [Thu, 7 Apr 2016 00:50:04 +0000 (00:50 +0000)]
Merge changes I775a57c9,I14c0836f,I075c1b11
am: e7fbbe4

* commit 'e7fbbe4ea5c36f5d4bea6e060f535f883da8294c':
  ART: Add cutout for Unsafe.putObjectVolatile
  ART: Add integer & long parsing cutout to unstarted runtime
  ART: Add getDeclaredConstructor cutout for unstarted runtime

Change-Id: Id0d5670864d9b37fff4b22b1581a452dbe8e5557

8 years agoMerge "Check if we require barrier if we did not resolve classes" am: 207c3ea
Mathieu Chartier [Thu, 7 Apr 2016 00:50:04 +0000 (00:50 +0000)]
Merge "Check if we require barrier if we did not resolve classes" am: 207c3ea
am: 78933ae

* commit '78933ae9ac0b70b9464b04e175fc15f3980cdee8':
  Check if we require barrier if we did not resolve classes

Change-Id: I4fb70ce061d4aa0113a428d69dcd624eb4c118a0

8 years agoMerge changes I775a57c9,I14c0836f,I075c1b11
Andreas Gampe [Thu, 7 Apr 2016 00:42:30 +0000 (00:42 +0000)]
Merge changes I775a57c9,I14c0836f,I075c1b11

* changes:
  ART: Add cutout for Unsafe.putObjectVolatile
  ART: Add integer & long parsing cutout to unstarted runtime
  ART: Add getDeclaredConstructor cutout for unstarted runtime

8 years agoMerge "Check if we require barrier if we did not resolve classes"
Mathieu Chartier [Wed, 6 Apr 2016 23:10:02 +0000 (23:10 +0000)]
Merge "Check if we require barrier if we did not resolve classes"
am: 207c3ea

* commit '207c3ea34a89b2f912010230c39521d8c4656340':
  Check if we require barrier if we did not resolve classes

Change-Id: I4040743ed8f79d81fb72a5434da568cd384ddb34

8 years agoMerge "Check if we require barrier if we did not resolve classes"
Mathieu Chartier [Wed, 6 Apr 2016 23:05:00 +0000 (23:05 +0000)]
Merge "Check if we require barrier if we did not resolve classes"

8 years agoMerge "Fix regression in ModUnionTable RAM usage" am: 43574b5
Mathieu Chartier [Wed, 6 Apr 2016 23:02:13 +0000 (23:02 +0000)]
Merge "Fix regression in ModUnionTable RAM usage" am: 43574b5
am: 5bc39af

* commit '5bc39afa9d22ce2c78f65ba48b07dc73c2726966':
  Fix regression in ModUnionTable RAM usage

Change-Id: I85b03cce5a929832598f949ff15b8af47e38d176

8 years agoCheck if we require barrier if we did not resolve classes
Mathieu Chartier [Wed, 6 Apr 2016 21:41:23 +0000 (14:41 -0700)]
Check if we require barrier if we did not resolve classes

Check fields instead of just always inserting the return void
barrier.

Bug: 28005874

(cherry picked from commit 03c7df9648028228d75dddfc25cbc81ab8096167)

Change-Id: I1207fecc9a4425d024a7e5e1a850c9e2a6e17c31

8 years agoMerge "Fix regression in ModUnionTable RAM usage"
Mathieu Chartier [Wed, 6 Apr 2016 22:59:46 +0000 (22:59 +0000)]
Merge "Fix regression in ModUnionTable RAM usage"
am: 43574b5

* commit '43574b561a9f4b1721ea4ab2bbccae7a825c2ebb':
  Fix regression in ModUnionTable RAM usage

Change-Id: I49fa1b6de18ef09123f0bd393924996cd0440112

8 years agoMerge "Fix regression in ModUnionTable RAM usage" into nyc-dev
Mathieu Chartier [Wed, 6 Apr 2016 22:54:14 +0000 (22:54 +0000)]
Merge "Fix regression in ModUnionTable RAM usage" into nyc-dev
am: 5650650

* commit '5650650dbb97460adb957a6da3f320ef9574bc6b':
  Fix regression in ModUnionTable RAM usage

Change-Id: Ibb950dc3fd4075ef5d63a45b25900f153dfc18f4

8 years agoMerge "Check if we require barrier if we did not resolve classes" into nyc-dev
Mathieu Chartier [Wed, 6 Apr 2016 22:54:14 +0000 (22:54 +0000)]
Merge "Check if we require barrier if we did not resolve classes" into nyc-dev
am: 24a9ecf

* commit '24a9ecf261ebfe079d41d6da7c6ee225c9555d69':
  Check if we require barrier if we did not resolve classes

Change-Id: I15a2068db76574f9308dd2f06d32cfc31db50d63

8 years agoMerge "Fix regression in ModUnionTable RAM usage"
Mathieu Chartier [Wed, 6 Apr 2016 22:53:45 +0000 (22:53 +0000)]
Merge "Fix regression in ModUnionTable RAM usage"

8 years agoFix regression in ModUnionTable RAM usage
Mathieu Chartier [Wed, 6 Apr 2016 22:27:19 +0000 (15:27 -0700)]
Fix regression in ModUnionTable RAM usage

We forgot to check if a reference changed before assigning it back,
this caused extra dirty pages in the image.

BusinessCard .art PSS
Before: 1678 KB
After: 991 KB

System wide .art PSS goes down ~20MB on my shamu.

Bug: 27906566

(cherry picked from commit 014885a8561f2415cb19ebde1e4084b88d63b746)

Change-Id: I64d149f10f3ef1ed1cb61810282559b47823014c

8 years agoMerge "Fix regression in ModUnionTable RAM usage" into nyc-dev
Mathieu Chartier [Wed, 6 Apr 2016 22:45:41 +0000 (22:45 +0000)]
Merge "Fix regression in ModUnionTable RAM usage" into nyc-dev

8 years agoMerge "Check if we require barrier if we did not resolve classes" into nyc-dev
Mathieu Chartier [Wed, 6 Apr 2016 22:45:13 +0000 (22:45 +0000)]
Merge "Check if we require barrier if we did not resolve classes" into nyc-dev

8 years agoFix regression in ModUnionTable RAM usage
Mathieu Chartier [Wed, 6 Apr 2016 22:27:19 +0000 (15:27 -0700)]
Fix regression in ModUnionTable RAM usage

We forgot to check if a reference changed before assigning it back,
this caused extra dirty pages in the image.

BusinessCard .art PSS
Before: 1678 KB
After: 991 KB

System wide .art PSS goes down ~20MB on my shamu.

Bug: 27906566

Change-Id: I6e398da79f0838960e4cb6650b24b1e6f60784ae

8 years agoCheck if we require barrier if we did not resolve classes
Mathieu Chartier [Wed, 6 Apr 2016 21:41:23 +0000 (14:41 -0700)]
Check if we require barrier if we did not resolve classes

Check fields instead of just always inserting the return void
barrier.

Bug: 28005874
Change-Id: I62cc1c3979304642109961fcf2607a7df065a162

8 years agoART: Add cutout for Unsafe.putObjectVolatile
Andreas Gampe [Wed, 6 Apr 2016 04:12:51 +0000 (21:12 -0700)]
ART: Add cutout for Unsafe.putObjectVolatile

Add an unstarted-runtime cutout for putObjectVolatile.

Allows to compile-time initialize:
* android.content.res.Configuration
* android.icu.text.PluralRules$SimpleTokenizer
* android.icu.text.UnicodeSet
* android.icu.util.VersionInfo
* android.util.LocaleList

May allow follow-up changes to compile-time initialize
more ICU classes.

Bug: 27265238

(cherry picked from commit 1813d116cb1367f0ae449221c7ff6c6b421d269f)

Change-Id: I775a57c9f15aa8f42a4dffbd1dd40c641c30f645

8 years agoART: Add integer & long parsing cutout to unstarted runtime
Andreas Gampe [Wed, 6 Apr 2016 03:14:30 +0000 (20:14 -0700)]
ART: Add integer & long parsing cutout to unstarted runtime

Add a cutout for Integer.parseInt and Long.parseLong. Only handle
(some) successful cases, and abort the transaction in the rest.
Add tests.

Allows to compile-time initialize:
* com.android.org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers
* com.android.org.bouncycastle.asn1.x509.X509ObjectIdentifiers
* sun.security.x509.InhibitAnyPolicyExtension

Bug: 27265238

(cherry picked from commit 9c62dab16e4be0c19a2e6c6c0cc2b24c2814c6f2)

Change-Id: I14c0836fd9ec7c9bf49d8186ff14a3c6830ff711

8 years agoART: Add getDeclaredConstructor cutout for unstarted runtime
Andreas Gampe [Wed, 6 Apr 2016 01:18:43 +0000 (18:18 -0700)]
ART: Add getDeclaredConstructor cutout for unstarted runtime

In the vein of getDeclaredMethod and getDeclaredField. Refactor
code from java_lang_Class to share code.

Allows to compile-time initialize:
* sun.security.x509.AVAKeyword
* sun.security.x509.X500Name

Bug: 27265238

(cherry picked from commit f72f19fac0016499d33fd75b0463d0128a58a9f4)

Change-Id: I075c1b11f3408f5b31e4f84140a24fd8d3eaa17e

8 years agoMerge "ART: Add cutout for Unsafe.putObjectVolatile" into nyc-dev
Andreas Gampe [Wed, 6 Apr 2016 20:05:04 +0000 (20:05 +0000)]
Merge "ART: Add cutout for Unsafe.putObjectVolatile" into nyc-dev
am: 091c54c

* commit '091c54ce75ff6cd2f5a39a53341ae4596ac7108a':
  ART: Add cutout for Unsafe.putObjectVolatile

Change-Id: I12ecad06bdd8f241b8623d9deaaff7518d224abf

8 years agoMerge "ART: Add integer & long parsing cutout to unstarted runtime" into nyc-dev
Andreas Gampe [Wed, 6 Apr 2016 20:05:04 +0000 (20:05 +0000)]
Merge "ART: Add integer & long parsing cutout to unstarted runtime" into nyc-dev
am: 949160a

* commit '949160ab22771dd7fc2ac192963299c11ca0f3c0':
  ART: Add integer & long parsing cutout to unstarted runtime

Change-Id: Icb2655ff72255ac73a5eb41dfcebcffd0756dc9e