OSDN Git Service

android-x86/art.git
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 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: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""
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."
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."
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."
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."
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
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 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 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"
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 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 "Shard classloader classes lock"
Mathieu Chartier [Wed, 6 Apr 2016 19:31:05 +0000 (19:31 +0000)]
Merge "Shard classloader classes lock"
am: dc148d2

* commit 'dc148d24cc11845036063a2876c9bfef03d00ce5':
  Shard classloader classes lock

Change-Id: I199b1643d34d20d64f3263178dc176ec7421e6c6

8 years agoMerge "Change RequiresConstructorBarrier default to yes"
Mathieu Chartier [Wed, 6 Apr 2016 19:31:05 +0000 (19:31 +0000)]
Merge "Change RequiresConstructorBarrier default to yes"
am: 1633881

* commit '163388162bde0012dc13a59fb8974723af881e58':
  Change RequiresConstructorBarrier default to yes

Change-Id: Iccb2432ac2d2414de62042f685808f1debc05985

8 years agoMerge "Shard classloader classes lock"
Mathieu Chartier [Wed, 6 Apr 2016 19:25:39 +0000 (19:25 +0000)]
Merge "Shard classloader classes lock"

8 years agoShard classloader classes lock
Mathieu Chartier [Tue, 5 Apr 2016 21:36:57 +0000 (14:36 -0700)]
Shard classloader classes lock

Used to guard adding and removing classes.

Previously we used the class linker classes lock, but this had
a deadlock issue since the reference processor may need to acquire
the lock to mark the classes of a class loader. Another thread could
be blocked trying to access weak globals while also holding the
class linker classes lock.

Bug: 27946564

(cherry picked from commit 1609e3a42051769f4a8be3b6731e7bb2f828b3bb)

Change-Id: Ic5cfe573c4e6822d49ad0862ffdd9d036e439a96

8 years agoMerge "Change RequiresConstructorBarrier default to yes"
Mathieu Chartier [Wed, 6 Apr 2016 19:22:28 +0000 (19:22 +0000)]
Merge "Change RequiresConstructorBarrier default to yes"

8 years agoChange RequiresConstructorBarrier default to yes
Mathieu Chartier [Wed, 6 Apr 2016 17:47:45 +0000 (10:47 -0700)]
Change RequiresConstructorBarrier default to yes

Previously it defaulted to false, this caused incorrect dex2dex if
the resolution pass was not run.

TODO: Re-enable the no barrier for no resolution case to improve
interpreter performance slightly.

Bug: 28005874

(cherry picked from commit e5d8020b03956db6d533852b3ae940e0eb0fafc4)

Change-Id: Ibde6e18b8543f7bc9e17db6941a710756cd8b617

8 years agoMerge "Change hash set to use noexcept"
Mathieu Chartier [Wed, 6 Apr 2016 18:37:30 +0000 (18:37 +0000)]
Merge "Change hash set to use noexcept"
am: d1bdb7c

* commit 'd1bdb7cc301a75050bd440597997421c6b9278d9':
  Change hash set to use noexcept

Change-Id: I4229ca3143e57b906e7809160100159fa855511d

8 years agoMerge "Change hash set to use noexcept"
Mathieu Chartier [Wed, 6 Apr 2016 18:35:18 +0000 (18:35 +0000)]
Merge "Change hash set to use noexcept"

8 years agoChange hash set to use noexcept
Mathieu Chartier [Wed, 6 Apr 2016 02:13:37 +0000 (19:13 -0700)]
Change hash set to use noexcept

Otherwise it uses copy constructor instead of move constructor in
some cases (like std::vector).

Reduces shared dirty native by around 350k.

Bug: 27860101

(cherry picked from commit 5ef868c8332db11bb90284887a7f676f5dbef373)

Change-Id: I0311fa530fc2436630abebfdac2cad375eb4d691

8 years agoThumb2: Show the immediate in ROR (immediate) disassembly.
Vladimir Marko [Wed, 6 Apr 2016 18:05:19 +0000 (19:05 +0100)]
Thumb2: Show the immediate in ROR (immediate) disassembly.

Now disassembled as "mov ., ., ror #imm5".

Change-Id: Iad201662fd6aa3f87b95c7293fafe030c4bbdbf3

8 years agoMerge "Fix and re-enable compiler_driver_test"
Yi Kong [Wed, 6 Apr 2016 17:07:54 +0000 (17:07 +0000)]
Merge "Fix and re-enable compiler_driver_test"
am: 0fb09f7

* commit '0fb09f7a441a2858c4724198f1ef74d9235be044':
  Fix and re-enable compiler_driver_test

Change-Id: Ie4455edb68b32b13301d2a1d845fe506c4a72784

8 years agoMerge "ART: Handle OOM in stack overflow"
Mathieu Chartier [Wed, 6 Apr 2016 16:59:33 +0000 (16:59 +0000)]
Merge "ART: Handle OOM in stack overflow"
am: c28a0d7

* commit 'c28a0d71d18e333b22b453128dc549a44634b1fa':
  ART: Handle OOM in stack overflow

Change-Id: Ia922b8190ee4fcd34e7cbfc1248f1276a2498ff6

8 years agoMerge "Fix and re-enable compiler_driver_test"
Yi Kong [Wed, 6 Apr 2016 16:59:02 +0000 (16:59 +0000)]
Merge "Fix and re-enable compiler_driver_test"

8 years agoMerge "ART: Handle OOM in stack overflow"
Mathieu Chartier [Wed, 6 Apr 2016 16:51:48 +0000 (16:51 +0000)]
Merge "ART: Handle OOM in stack overflow"

8 years agoFix and re-enable compiler_driver_test
Yi Kong [Mon, 4 Apr 2016 16:44:59 +0000 (17:44 +0100)]
Fix and re-enable compiler_driver_test

This reverts commit 6f58cb85328bed2f3ea246cce4080244544d7c2b.

The move to OpenJDK introduces new dependencies to compile these
methods, however we don't actually need them to run this test. Remove
them here to enable the test again.

Bug: 25836016
Change-Id: I75b12c48941fca6646142004accae8364e8c6dbc

8 years agoMove optimizations out of HInliner::TryBuildAndInlineHelper.
Roland Levillain [Wed, 6 Apr 2016 16:45:58 +0000 (17:45 +0100)]
Move optimizations out of HInliner::TryBuildAndInlineHelper.

This is a followup CL to
https://android-review.googlesource.com/#/c/212651.

Change-Id: I37d1c3fc06d8e36c335dd62887936486f7deeba4

8 years agoOptimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod.
Vladimir Marko [Wed, 6 Apr 2016 16:33:41 +0000 (17:33 +0100)]
Optimizing: Fix codegens for MethodLoadKind::kDexCacheViaMethod.

Use the original method index instead of the target method
index because the target method may point to a different dex
file.

No regression test: this currently happens only if the
codegen uses the kDexCacheViaMethod as a fallback for
another load kind and we aim to avoid that fallback, so it
would be difficult to write a reliable regression test. We
could try and exploit current fallbacks for irreducible
loops on x86 and arm but those fallbacks will eventually
disappear anyway.

Bug: 28036230
Change-Id: I4cc9e046480d3d60a7fb521f0ca6a98914625cdc

8 years agoART: Handle OOM in stack overflow
Mathieu Chartier [Mon, 4 Apr 2016 23:49:44 +0000 (16:49 -0700)]
ART: Handle OOM in stack overflow

When creating a stack overflow error, we must not allocate a
new out-of-memory error. Running its constructor will lead to
a nested exception.

Bug: 27663199

Change-Id: I2a7b5b937730eeade22dce654cfc4ad903c5f040

8 years agoMerge "ART: Add arraycopy(byte) to unstarted runtime"
Andreas Gampe [Wed, 6 Apr 2016 01:26:34 +0000 (01:26 +0000)]
Merge "ART: Add arraycopy(byte) to unstarted runtime"
am: 5827507

* commit '5827507da8efdaf4536c70dfdc54407c28e37852':
  ART: Add arraycopy(byte) to unstarted runtime

Change-Id: Ib3b727c1d717e83739943639dcb02c3885a17f85

8 years agoMerge "ART: Add arraycopy(byte) to unstarted runtime"
Andreas Gampe [Wed, 6 Apr 2016 01:18:15 +0000 (01:18 +0000)]
Merge "ART: Add arraycopy(byte) to unstarted runtime"

8 years agoART: Add arraycopy(byte) to unstarted runtime
Andreas Gampe [Tue, 5 Apr 2016 21:16:10 +0000 (14:16 -0700)]
ART: Add arraycopy(byte) to unstarted runtime

The byte-array version is now in use in libcore.

Allows to compile-time initialize:
* java.security.cert.X509CertSelector
* sun.security.pkcs.PKCS9Attribute
* sun.security.provider.certpath.AdaptableX509CertSelector
* sun.security.x509.AccessDescription
* sun.security.x509.AlgorithmId
* sun.security.x509.ExtendedKeyUsageExtension
* sun.security.x509.NetscapeCertTypeExtension
* sun.security.x509.OIDMap
* sun.security.x509.PKIXExtensions

Bug: 27265238

(cherry picked from commit cc44581beacd61a633b02a1223d1bf6fea278f94)

Change-Id: If6b680a455809152c9bd7a679a8ab430936c46a1

8 years agoMerge "ART: Don\'t attempt write flock if not zygote"
Andreas Gampe [Tue, 5 Apr 2016 23:07:45 +0000 (23:07 +0000)]
Merge "ART: Don\'t attempt write flock if not zygote"
am: 224b7f3

* commit '224b7f346d8e13ef7b19d72671d687cad34f63eb':
  ART: Don't attempt write flock if not zygote

Change-Id: I2e3aacde20d96b7c2b5ace695185d005d8320784

8 years agoMerge "ART: Don't attempt write flock if not zygote"
Andreas Gampe [Tue, 5 Apr 2016 23:02:42 +0000 (23:02 +0000)]
Merge "ART: Don't attempt write flock if not zygote"

8 years agoART: Don't attempt write flock if not zygote
Andreas Gampe [Tue, 5 Apr 2016 17:26:42 +0000 (10:26 -0700)]
ART: Don't attempt write flock if not zygote

When loading an image, don't attempt a RDWR flock if the process
is not the zygote. The lock will be rejected as the process does
not have permission to write the file.

Bug: 28011897

(cherry picked from commit fff377b13469b8c84ce55ee20b10ca80a5a0813d)

Change-Id: I567934c4e9a9a13e9131711240e9ecfdd58b69f7

8 years agoMerge "Fix issued with non-public interface methods."
Alex Light [Tue, 5 Apr 2016 18:00:55 +0000 (18:00 +0000)]
Merge "Fix issued with non-public interface methods."
am: 31b66aa

* commit '31b66aa845d7294846e549da54750e4d8fd24822':
  Fix issued with non-public interface methods.

Change-Id: Ieb47d07d1764e6942022edc510b7e1d94206d7b1

8 years agoMerge "Fix issued with non-public interface methods."
Alex Light [Tue, 5 Apr 2016 17:49:22 +0000 (17:49 +0000)]
Merge "Fix issued with non-public interface methods."

8 years agoMerge "Remove unnecessary TEMP_FAILURE_RETRY."
Vladimir Marko [Tue, 5 Apr 2016 15:51:33 +0000 (15:51 +0000)]
Merge "Remove unnecessary TEMP_FAILURE_RETRY."
am: 9a14710

* commit '9a14710112d61e90412e54c3da83fc3f7849df8e':
  Remove unnecessary TEMP_FAILURE_RETRY.

Change-Id: Ic4dc49bdf577a5084a6174269143ec980ea0b2ec

8 years agoMerge "Remove unnecessary TEMP_FAILURE_RETRY."
Vladimir Marko [Tue, 5 Apr 2016 15:43:16 +0000 (15:43 +0000)]
Merge "Remove unnecessary TEMP_FAILURE_RETRY."

8 years agoMerge "Implement ARM64 support for SystemArrayCopy()"
donghui.bai [Tue, 5 Apr 2016 13:32:39 +0000 (13:32 +0000)]
Merge "Implement ARM64 support for SystemArrayCopy()"
am: 96de6c3

* commit '96de6c36efd328b3c5a7e4bb8f32ab340cce3efe':
  Implement ARM64 support for SystemArrayCopy()

Change-Id: I048881e8f60f6c1a51e572c32a8df9e2bd6a01b1

8 years agoMerge "Implement ARM64 support for SystemArrayCopy()"
Roland Levillain [Tue, 5 Apr 2016 13:25:12 +0000 (13:25 +0000)]
Merge "Implement ARM64 support for SystemArrayCopy()"

8 years agoRemove unnecessary TEMP_FAILURE_RETRY.
Vladimir Marko [Tue, 5 Apr 2016 13:19:08 +0000 (14:19 +0100)]
Remove unnecessary TEMP_FAILURE_RETRY.

unlink, rmdir, rename and closedir do not generate EINTR.

Change-Id: Ia5daab3e19f7373d7c27cdb6a800351c86b5a4e5

8 years agoMerge "Remove unused \'status\' variable"
Goran Jakovljevic [Tue, 5 Apr 2016 12:41:46 +0000 (12:41 +0000)]
Merge "Remove unused \'status\' variable"
am: 274704f

* commit '274704fd37ff65c65f229638d359186e33f4912b':
  Remove unused 'status' variable

Change-Id: I3d07fbc5befdd25ad2a4a400383b73a9a7ab1d58

8 years agoMerge "Remove unused 'status' variable"
Vladimir Marko [Tue, 5 Apr 2016 12:36:16 +0000 (12:36 +0000)]
Merge "Remove unused 'status' variable"

8 years agoMerge "Revert "Remove many `instrumentation` variables from goto interpreter.""
Vladimir Marko [Tue, 5 Apr 2016 11:58:12 +0000 (11:58 +0000)]
Merge "Revert "Remove many `instrumentation` variables from goto interpreter.""
am: c2c9bcb

* commit 'c2c9bcb716cdfed2337a7715dd33667b3bb71fba':
  Revert "Remove many `instrumentation` variables from goto interpreter."

Change-Id: Ia9d1f17ea824623d6949b6903f63d537dd134381

8 years agoMerge "Revert "Remove many `instrumentation` variables from goto interpreter.""
Vladimir Marko [Tue, 5 Apr 2016 11:52:23 +0000 (11:52 +0000)]
Merge "Revert "Remove many `instrumentation` variables from goto interpreter.""

8 years agoRevert "Remove many `instrumentation` variables from goto interpreter."
Vladimir Marko [Tue, 5 Apr 2016 11:48:02 +0000 (11:48 +0000)]
Revert "Remove many `instrumentation` variables from goto interpreter."

This reverts commit 4cb22b4f6d0afbdf424369df99c6eb11999f2473.

Change-Id: I1d84965c2cde2ffc2ebdb46fb5251691ea12569b

8 years agoRemove unused 'status' variable
Goran Jakovljevic [Tue, 5 Apr 2016 11:08:21 +0000 (13:08 +0200)]
Remove unused 'status' variable

GCC (mips32 Buildbot) is complaining about unused variable.

This is follow up change for
    https://android-review.googlesource.com/#/c/212523/.

Change-Id: Id6ac2736d30f324f2cad68d8dabe409092f000ac

8 years agoMerge "Clean up OatQuickMethodHeader after Quick removal."
Vladimir Marko [Tue, 5 Apr 2016 09:30:16 +0000 (09:30 +0000)]
Merge "Clean up OatQuickMethodHeader after Quick removal."
am: 75563e3

* commit '75563e34a4e64a8e805e6810b13e07f1cafec137':
  Clean up OatQuickMethodHeader after Quick removal.

Change-Id: I41575dd094edc1c1246672a34678665b668a8f36

8 years agoMerge "Clean up OatQuickMethodHeader after Quick removal."
Vladimir Marko [Tue, 5 Apr 2016 09:23:52 +0000 (09:23 +0000)]
Merge "Clean up OatQuickMethodHeader after Quick removal."

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
Change-Id: I078069b7b3cb72bfe7d0b9ea61e527fee04d56a3

8 years agoMerge "Move DCHECK into loop."
Aart Bik [Mon, 4 Apr 2016 22:16:24 +0000 (22:16 +0000)]
Merge "Move DCHECK into loop."
am: a07be75

* commit 'a07be75830af60ce50aba357e8de066e849aa21c':
  Move DCHECK into loop.

Change-Id: Ia7bab5ec9fec82fb1d693b06357643518dfa19d6

8 years agoMerge "Move DCHECK into loop."
Aart Bik [Mon, 4 Apr 2016 22:08:30 +0000 (22:08 +0000)]
Merge "Move DCHECK into loop."

8 years agoFix issued with non-public interface methods.
Alex Light [Thu, 31 Mar 2016 17:03:07 +0000 (10:03 -0700)]
Fix issued with non-public interface methods.

Some APK's ship with dex files containing non-public interface
methods. These would cause crashes on newer versions of ART due to
stricter verification of dex files. Make ART emit a warning but allow
this behavior.

Bug: 27928832

Change-Id: Ia3689ee091aa154fb5954b1f6dd50c489128acce

8 years agoMerge "Fix issue with verification check failure on erroneous classes."
Alex Light [Mon, 4 Apr 2016 21:50:41 +0000 (21:50 +0000)]
Merge "Fix issue with verification check failure on erroneous classes."
am: 03bea09

* commit '03bea09898e81078e3d116f580e74d5b1911ea39':
  Fix issue with verification check failure on erroneous classes.

Change-Id: I39a584f6c46653109617962661971872de08d7e8

8 years agoMerge "Fix issue with verification check failure on erroneous classes."
Alex Light [Mon, 4 Apr 2016 21:46:30 +0000 (21:46 +0000)]
Merge "Fix issue with verification check failure on erroneous classes."

8 years agoMerge "ART: Dump less maps"
Andreas Gampe [Mon, 4 Apr 2016 21:38:23 +0000 (21:38 +0000)]
Merge "ART: Dump less maps"
am: 23cb752

* commit '23cb752adb33e77864b7d8f5bc5a1d3a08ab2ac2':
  ART: Dump less maps

Change-Id: Iaff4f923a8f875a764f5a8dc7c122d01ad765205

8 years agoMerge "ART: Dump less maps"
Andreas Gampe [Mon, 4 Apr 2016 21:24:59 +0000 (21:24 +0000)]
Merge "ART: Dump less maps"

8 years agoART: Dump less maps
Andreas Gampe [Sat, 2 Apr 2016 00:20:49 +0000 (17:20 -0700)]
ART: Dump less maps

Security has been tightened, so there are situations where we can't
load our files, and produce "log spam."

Bug: 27925454

(cherry picked from commit dfd7b70bbab8157fb385e4a6d6e4b55ae2e4e892)

Change-Id: Ia8c76184ea5087d625cf52d4459f8a557eebfafe

8 years agoMove DCHECK into loop.
Aart Bik [Mon, 4 Apr 2016 21:19:01 +0000 (14:19 -0700)]
Move DCHECK into loop.

Rationale:
Since pointer is non-null on loop entry, moving the check
into the while loop (rather than after) gives a more friendly
error message in debug mode when something goes wrong.

BUG=27825731
BUG=27627004

Change-Id: I2ea67b3ab6c4edc6815fea38a436e5c3c194e540

8 years agoFix issue with verification check failure on erroneous classes.
Alex Light [Mon, 4 Apr 2016 20:23:14 +0000 (13:23 -0700)]
Fix issue with verification check failure on erroneous classes.

Bug: 27924355

Change-Id: I7d680e7196aeb9e2e6ef54139634564e058174d7

8 years agoMerge "Mark array classes as verification attempted"
Mathieu Chartier [Mon, 4 Apr 2016 18:50:12 +0000 (18:50 +0000)]
Merge "Mark array classes as verification attempted"
am: 2746c68

* commit '2746c68840535294b1febc2224e81280f002909d':
  Mark array classes as verification attempted

Change-Id: Ibfe84255283ee005f9317663fcd44fcffc525c5d

8 years agoMerge "Mark array classes as verification attempted"
Mathieu Chartier [Mon, 4 Apr 2016 18:40:51 +0000 (18:40 +0000)]
Merge "Mark array classes as verification attempted"

8 years agoMark array classes as verification attempted
Mathieu Chartier [Sat, 2 Apr 2016 00:33:31 +0000 (17:33 -0700)]
Mark array classes as verification attempted

We now initialize all array classes in the compiler driver. This in
turn will ensure they are marked verified in the image. This
prevents dirty pages in the image since we would otherwise set the
flags in the zygote.

On BusinessCard:
Reduces shared dirty from 636k -> 432k for boot.art, and dirty pages
from 183 to 132.

(cherry picked from commit 3b674098bef6eaf7d3fb731878293ef715fe1080)

Change-Id: If3093e4e3242e4ee3ea120abe5be7db028290260

8 years agoMerge "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""
David Brazdil [Mon, 4 Apr 2016 17:56:46 +0000 (17:56 +0000)]
Merge "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""
am: 7d9a5b0

* commit '7d9a5b0fbceef5806f059060d47533b9e699ec28':
  Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals"

Change-Id: Ib027ac7dec02c175d50192f6b1ad15ed2fb19a28

8 years agoMerge "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""
David Brazdil [Mon, 4 Apr 2016 17:48:02 +0000 (17:48 +0000)]
Merge "Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals""

8 years agoRevert "Refactor HGraphBuilder and SsaBuilder to remove HLocals"
David Brazdil [Mon, 4 Apr 2016 17:47:42 +0000 (17:47 +0000)]
Revert "Refactor HGraphBuilder and SsaBuilder to remove HLocals"

Bug: 27995065
This reverts commit e3ff7b293be2a6791fe9d135d660c0cffe4bd73f.

Change-Id: I5363c7ce18f47fd422c15eed5423a345a57249d8

8 years agoMerge "Have Checker print lines of unmatched test cases."
Roland Levillain [Mon, 4 Apr 2016 17:06:31 +0000 (17:06 +0000)]
Merge "Have Checker print lines of unmatched test cases."
am: 75c221d

* commit '75c221dcffab45e3c1e4ba8b8cd048c87497334f':
  Have Checker print lines of unmatched test cases.

Change-Id: I37f42fa427a37dcddb077805f9eab316b759c71b

8 years agoMerge "Have Checker print lines of unmatched test cases."
Roland Levillain [Mon, 4 Apr 2016 16:58:06 +0000 (16:58 +0000)]
Merge "Have Checker print lines of unmatched test cases."

8 years agoClean up OatQuickMethodHeader after Quick removal.
Vladimir Marko [Thu, 31 Mar 2016 11:02:28 +0000 (12:02 +0100)]
Clean up OatQuickMethodHeader after Quick removal.

This reduces the size of the pre-header by 8 bytes, reducing
oat file size and mmapped .text section size. The memory
needed to store a CompiledMethod by dex2oat is also reduced,
for 32-bit dex2oat by 8B and for 64-bit dex2oat by 16B. The
aosp_flounder-userdebug 32-bit and 64-bit boot.oat are each
about 1.1MiB smaller.

Disable the broken StubTest.IMT, b/27991555 .

Change-Id: I05fe45c28c8ffb7a0fa8b1117b969786748b1039

8 years agoMerge "Please Clang wrt stack frames in HInliner::TryBuildAndInlineHelper."
Roland Levillain [Mon, 4 Apr 2016 14:44:57 +0000 (14:44 +0000)]
Merge "Please Clang wrt stack frames in HInliner::TryBuildAndInlineHelper."
am: eb98c0d

* commit 'eb98c0ded592cfca8187c744393c82efd1020b2a':
  Please Clang wrt stack frames in HInliner::TryBuildAndInlineHelper.

Change-Id: I6129f9834e5d45975f63100f7e230e6f92dbf577

8 years agoMerge "Please Clang wrt stack frames in HInliner::TryBuildAndInlineHelper."
Roland Levillain [Mon, 4 Apr 2016 14:36:12 +0000 (14:36 +0000)]
Merge "Please Clang wrt stack frames in HInliner::TryBuildAndInlineHelper."

8 years agoPlease Clang wrt stack frames in HInliner::TryBuildAndInlineHelper.
Roland Levillain [Mon, 4 Apr 2016 14:34:31 +0000 (15:34 +0100)]
Please Clang wrt stack frames in HInliner::TryBuildAndInlineHelper.

This change enables Clang to compile ART on MIPS64 without
complaining about stack frames larger than what
`-Wframe-larger-than` allows.

Change-Id: I72f424922d9cb3d01f7b8ba4e5cb9170b82870d9

8 years agoHave Checker print lines of unmatched test cases.
Roland Levillain [Mon, 4 Apr 2016 13:56:36 +0000 (14:56 +0100)]
Have Checker print lines of unmatched test cases.

Change-Id: I8ea7eee4c29f23ad10fb4d49ca927fdde39c1ef9

8 years agoMerge "Use bit-level packing for InlineInfo in stackmaps as well."
David Srbecky [Mon, 4 Apr 2016 13:43:04 +0000 (13:43 +0000)]
Merge "Use bit-level packing for InlineInfo in stackmaps as well."
am: 2f92ec8

* commit '2f92ec8a52faa4bc566af8fa34212f3e749e82c8':
  Use bit-level packing for InlineInfo in stackmaps as well.

Change-Id: I548b78a3602f3aa9e9268bcd7188d683d153e6e3

8 years agoMerge "Use bit-level packing for InlineInfo in stackmaps as well."
Calin Juravle [Mon, 4 Apr 2016 13:35:53 +0000 (13:35 +0000)]
Merge "Use bit-level packing for InlineInfo in stackmaps as well."

8 years agoMerge "Fix BitCount intrinsics assertions."
Roland Levillain [Mon, 4 Apr 2016 13:01:45 +0000 (13:01 +0000)]
Merge "Fix BitCount intrinsics assertions."
am: 75ee5c2

* commit '75ee5c28ab583c532066b64d6337a5f78d6aa2ad':
  Fix BitCount intrinsics assertions.

Change-Id: Ic13f9e6c95a6b74429f828a0f6c02066522e6a55