OSDN Git Service

android-x86/art.git
9 years agoam 01c2b053: Merge "Fix mac build"
Mathieu Chartier [Tue, 14 Jul 2015 17:20:45 +0000 (17:20 +0000)]
am 01c2b053: Merge "Fix mac build"

* commit '01c2b053aa74d9bd461a29e0c252f7a8ce3f115a':
  Fix mac build

9 years agoam 68953ebf: Merge "Add an option to run art tests with strace."
Hiroshi Yamauchi [Tue, 14 Jul 2015 17:20:43 +0000 (17:20 +0000)]
am 68953ebf: Merge "Add an option to run art tests with strace."

* commit '68953ebf53e3ef7e0fd2c5beadfa7a2437eebc60':
  Add an option to run art tests with strace.

9 years agoMerge "Fix mac build"
Mathieu Chartier [Tue, 14 Jul 2015 17:10:32 +0000 (17:10 +0000)]
Merge "Fix mac build"

9 years agoMerge "Add an option to run art tests with strace."
Hiroshi Yamauchi [Tue, 14 Jul 2015 17:08:50 +0000 (17:08 +0000)]
Merge "Add an option to run art tests with strace."

9 years agoFix mac build
Mathieu Chartier [Tue, 14 Jul 2015 17:05:45 +0000 (10:05 -0700)]
Fix mac build

Untested.

Change-Id: I1b7803f2fdcd7f509614aa9d3dce414e50a6119d

9 years agoam d1665b7a: Merge "Revert "Revert "Fuse long and FP compare & condition on ARM64...
Roland Levillain [Tue, 14 Jul 2015 10:14:46 +0000 (10:14 +0000)]
am d1665b7a: Merge "Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing."""

* commit 'd1665b7a689086ec5b33a69a05313c46ea1a95e4':
  Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing.""

9 years agoMerge "Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing."""
Roland Levillain [Tue, 14 Jul 2015 09:25:42 +0000 (09:25 +0000)]
Merge "Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing."""

9 years agoam c6f3439b: Merge "ART: JNI thread state transition optimization"
Mathieu Chartier [Tue, 14 Jul 2015 02:02:35 +0000 (02:02 +0000)]
am c6f3439b: Merge "ART: JNI thread state transition optimization"

* commit 'c6f3439b67962584cfb764133e192c3317f0e1fc':
  ART: JNI thread state transition optimization

9 years agoMerge "ART: JNI thread state transition optimization"
Mathieu Chartier [Tue, 14 Jul 2015 01:47:39 +0000 (01:47 +0000)]
Merge "ART: JNI thread state transition optimization"

9 years agoam e978aba2: Merge "Disable ASan on Thread::InstallImplicitProtection."
Evgenii Stepanov [Tue, 14 Jul 2015 01:41:20 +0000 (01:41 +0000)]
am e978aba2: Merge "Disable ASan on Thread::InstallImplicitProtection."

* commit 'e978aba24094cce90453ad3294b8c4536ee8e4b4':
  Disable ASan on Thread::InstallImplicitProtection.

9 years agoMerge "Disable ASan on Thread::InstallImplicitProtection."
Evgenii Stepanov [Tue, 14 Jul 2015 01:28:04 +0000 (01:28 +0000)]
Merge "Disable ASan on Thread::InstallImplicitProtection."

9 years agoam 0541502e: Merge "Generalize Valgrind annotations in ART to support ASan."
Evgenii Stepanov [Tue, 14 Jul 2015 01:02:57 +0000 (01:02 +0000)]
am 0541502e: Merge "Generalize Valgrind annotations in ART to support ASan."

* commit '0541502e6d9d0efa50aa333db32898a0664512c3':
  Generalize Valgrind annotations in ART to support ASan.

9 years agoDisable ASan on Thread::InstallImplicitProtection.
Evgenii Stepanov [Mon, 13 Jul 2015 17:41:57 +0000 (10:41 -0700)]
Disable ASan on Thread::InstallImplicitProtection.

This function reads random stack locations and confuses ASan.

Bug: 21785137
Change-Id: Iaaee6032a651618e5275ab46e6e8f886df60a5d0

9 years agoMerge "Generalize Valgrind annotations in ART to support ASan."
Evgenii Stepanov [Tue, 14 Jul 2015 00:47:06 +0000 (00:47 +0000)]
Merge "Generalize Valgrind annotations in ART to support ASan."

9 years agoGeneralize Valgrind annotations in ART to support ASan.
Evgenii Stepanov [Wed, 20 May 2015 19:30:59 +0000 (12:30 -0700)]
Generalize Valgrind annotations in ART to support ASan.

Also add redzones around non-fixed mem_map(s).
Also extend -Wframe-larger-than limit to enable arm64 ASan build.

Change-Id: Ie572481a25fead59fc8978d2c317a33ac418516c

9 years agoAdd an option to run art tests with strace.
Hiroshi Yamauchi [Tue, 14 Jul 2015 00:11:22 +0000 (17:11 -0700)]
Add an option to run art tests with strace.

Bug: 19894268
Change-Id: I0a315a30e4e7d6d497b21205dc2a2b18b2170328

9 years agoam 5b1eea0a: Merge "Thread-local mark stacks for the CC collector."
Hiroshi Yamauchi [Mon, 13 Jul 2015 23:04:44 +0000 (23:04 +0000)]
am 5b1eea0a: Merge "Thread-local mark stacks for the CC collector."

* commit '5b1eea0a6c90e6e82393cdb7337f0c2bb05637d9':
  Thread-local mark stacks for the CC collector.

9 years agoART: JNI thread state transition optimization
Yu Li [Mon, 29 Jun 2015 02:50:03 +0000 (10:50 +0800)]
ART: JNI thread state transition optimization

This patch improves the JNI performance by removing the explicit acquiring and
releasing the mutator lock when a thread state transits between suspended and
runnable states.

The functions responsible for changing the state were found to be the costliest
part of the JNI. Originally, a thread needs to acquire a shared mutator lock by
a CAS instruction when entering the runnable state and also needs to release
the lock by a CAS when entering the native state from runnable. This patch
removes these CAS operations when a thread state transits between suspended and
runnable. A thread in the runnable state is considered to have shared ownership
of the mutator lock and therefore transitions in and out of the runnable state
have associated implication on the mutator lock ownership. Meanwhile, a barrier
is added to control suspending all threads from running.

JNI transition overhead was reduced by 25% on IA platform and by 17% on ARM
platform by this patch, while it has little impact on GC pause time (measured
with "suspend all histogram").

Change-Id: Icee95d8ffff1bbfc95309a41cc48836536fec689
Signed-off-by: Yu, Li <yu.l.li@intel.com>
Signed-off-by: Haitao, Feng <haitao.feng@intel.com>
Signed-off-by: Lei, Li <lei.l.li@intel.com>
9 years agoMerge "Thread-local mark stacks for the CC collector."
Hiroshi Yamauchi [Mon, 13 Jul 2015 22:51:39 +0000 (22:51 +0000)]
Merge "Thread-local mark stacks for the CC collector."

9 years agoThread-local mark stacks for the CC collector.
Hiroshi Yamauchi [Wed, 17 Jun 2015 01:29:23 +0000 (18:29 -0700)]
Thread-local mark stacks for the CC collector.

Thread-local mark stacks are assigned to mutators where they push
references in read barriers to reduce the (CAS) synchronization cost
in a global mark stack/queue.

We step through three mark stack modes (thread-local, shared,
GC-exclusive) and use per-thread flags to disable/enable system weak
accesses (only for the CC collector) instead of the existing global
one to safely perform the marking phase. The reasons are 1)
thread-local mark stacks for mutators need to be revoked using a
checkpoint to avoid races (incorrectly leaving a reference on mark
stacks) when terminating marking, and 2) we can’t use a checkpoint
while system weak accesses are disabled (or a deadlock would
happen). More details are described in the code comments.

Performance improvements in Ritzperf EAAC: a ~2.8% improvement
(13290->12918) in run time and a ~23% improvement (51.6s->39.8s) in
the total GC time on N5.

Bug: 12687968
Change-Id: I5d234d7e48bf115cd773d38bdb62ad24ce9116c7

9 years agoam 24db1bc5: Merge "Fix cfi information for x86."
Christopher Ferris [Mon, 13 Jul 2015 20:51:35 +0000 (20:51 +0000)]
am 24db1bc5: Merge "Fix cfi information for x86."

* commit '24db1bc55bf8fb3240690436a229352453ae75e1':
  Fix cfi information for x86.

9 years agoMerge "Fix cfi information for x86."
Christopher Ferris [Mon, 13 Jul 2015 20:39:09 +0000 (20:39 +0000)]
Merge "Fix cfi information for x86."

9 years agoFix cfi information for x86.
Christopher Ferris [Mon, 13 Jul 2015 19:21:00 +0000 (12:21 -0700)]
Fix cfi information for x86.

With this change, I can now enable debug malloc fully.

Bug: 19071092
(cherry picked from commit 9f66589f3ca6055501c99333a19b69349b8f8568)

Change-Id: I04d477d0294d67c5e3a9d9147889bdffb9086bd4

9 years agoam cc22d7cd: Merge "ART: Fix DexFileVerifier try_items OoO validation"
Andreas Gampe [Mon, 13 Jul 2015 19:28:32 +0000 (19:28 +0000)]
am cc22d7cd: Merge "ART: Fix DexFileVerifier try_items OoO validation"

* commit 'cc22d7cde1062126aed90d314dcf675bd78e306e':
  ART: Fix DexFileVerifier try_items OoO validation

9 years agoMerge "ART: Fix DexFileVerifier try_items OoO validation"
Andreas Gampe [Mon, 13 Jul 2015 19:16:46 +0000 (19:16 +0000)]
Merge "ART: Fix DexFileVerifier try_items OoO validation"

9 years agoam f68c8545: Merge "Revert "Revert "Revert "Make dex2dex return a CompiledMethod...
Nicolas Geoffray [Mon, 13 Jul 2015 17:31:09 +0000 (17:31 +0000)]
am f68c8545: Merge "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""

* commit 'f68c8545382925062da2b87169ca2b5314f0b431':
  Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""

9 years agoMerge "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening...
Nicolas Geoffray [Mon, 13 Jul 2015 17:02:42 +0000 (17:02 +0000)]
Merge "Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""""

9 years agoRevert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""
Nicolas Geoffray [Mon, 13 Jul 2015 17:02:30 +0000 (17:02 +0000)]
Revert "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""

Breaks again in some configurations I don't fully understand yet.

This reverts commit f075879649686e59b7a9065c5a061dbfdcdfbecc.

Change-Id: I0ac5533825e40b06462ee69b2740e4a96fb5c582

9 years agoART: Fix DexFileVerifier try_items OoO validation
Anestis Bechtsoudis [Sun, 12 Jul 2015 17:51:35 +0000 (12:51 -0500)]
ART: Fix DexFileVerifier try_items OoO validation

DexFileVerifier::CheckIntraCodeItem() implements an out of order
validation for CodeItem try_items.  try_items_size is validated for
sanity via CheckListSize() at dex_file_verifier.cc:800, although
handlers_size ULEB128 read (offset calculated from tries_size_) occurs
before at lines 797-798.

An out of bounds (wild) read will occur for invalid try_items_size at
parsed DEX file.

handlers_size read has been moved after try_items validation to resolve
this OoO issue.

Bug: 21307613
Bug: https://code.google.com/p/android/issues/detail?id=178592
Change-Id: I94d00819ee9a465f57ba9a1fdfdd356979e35ed7

9 years agoam 6fb5b1bd: Merge "Fix baseline for arm64."
Nicolas Geoffray [Mon, 13 Jul 2015 16:04:46 +0000 (16:04 +0000)]
am 6fb5b1bd: Merge "Fix baseline for arm64."

* commit '6fb5b1bdd5cfcc3c32fedd6539670b01b5cda9a2':
  Fix baseline for arm64.

9 years agoRevert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing.""
Roland Levillain [Mon, 13 Jul 2015 15:54:55 +0000 (15:54 +0000)]
Revert "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing.""

This reverts commit bed50d2430e02a3d6b94972e8ab4873d7b3b8be0.

Bug: 21120453
Change-Id: I5e4aab2703966d9324ebde25bd8b83056fdb10ed

9 years agoMerge "Fix baseline for arm64."
Nicolas Geoffray [Mon, 13 Jul 2015 15:54:02 +0000 (15:54 +0000)]
Merge "Fix baseline for arm64."

9 years agoam f32521b1: Merge "ART: Don\'t nest indenters in oatdump."
Vladimir Marko [Mon, 13 Jul 2015 15:50:44 +0000 (15:50 +0000)]
am f32521b1: Merge "ART: Don\'t nest indenters in oatdump."

* commit 'f32521b18b3078b2fbd8f1e52d5da9375cd02cbc':
  ART: Don't nest indenters in oatdump.

9 years agoam 15c9881c: Merge "ART: Fix arm32 assembly stub CFI"
Andreas Gampe [Mon, 13 Jul 2015 15:50:42 +0000 (15:50 +0000)]
am 15c9881c: Merge "ART: Fix arm32 assembly stub CFI"

* commit '15c9881c7c480d0131099e436cff2f13ba50e5e3':
  ART: Fix arm32 assembly stub CFI

9 years agoFix baseline for arm64.
Nicolas Geoffray [Mon, 13 Jul 2015 14:55:26 +0000 (15:55 +0100)]
Fix baseline for arm64.

A HFakeString acts like a null constant. Other backends have
different code paths for handling it, so it was only arm64 failing.

Change-Id: Iba44d87c8d114b916404db0302574c7059143010

9 years agoMerge "ART: Don't nest indenters in oatdump."
Vladimir Marko [Mon, 13 Jul 2015 15:42:00 +0000 (15:42 +0000)]
Merge "ART: Don't nest indenters in oatdump."

9 years agoam d562cb13: Merge "Revert "Revert "Make dex2dex return a CompiledMethod after quicke...
Nicolas Geoffray [Mon, 13 Jul 2015 15:36:57 +0000 (15:36 +0000)]
am d562cb13: Merge "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""

* commit 'd562cb1347dbb673b6da830cac6fd9e0264d8b2b':
  Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""

9 years agoMerge "ART: Fix arm32 assembly stub CFI"
Andreas Gampe [Mon, 13 Jul 2015 15:35:27 +0000 (15:35 +0000)]
Merge "ART: Fix arm32 assembly stub CFI"

9 years agoMerge "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""
Nicolas Geoffray [Mon, 13 Jul 2015 15:17:37 +0000 (15:17 +0000)]
Merge "Revert "Revert "Make dex2dex return a CompiledMethod after quickening."""

9 years agoam af12baea: Merge "Re-enable run-test 449-checker-bce on MIPS64."
Roland Levillain [Mon, 13 Jul 2015 14:20:41 +0000 (14:20 +0000)]
am af12baea: Merge "Re-enable run-test 449-checker-bce on MIPS64."

* commit 'af12baeacf33b46a8b399f19735613539382229a':
  Re-enable run-test 449-checker-bce on MIPS64.

9 years agoam f7b3c6ed: Merge "Remove the --compiler-backend option from script."
Nicolas Geoffray [Mon, 13 Jul 2015 14:06:29 +0000 (14:06 +0000)]
am f7b3c6ed: Merge "Remove the --compiler-backend option from script."

* commit 'f7b3c6ed3a04e86dc285bac7da7e847e4674e41d':
  Remove the --compiler-backend option from script.

9 years agoMerge "Re-enable run-test 449-checker-bce on MIPS64."
Roland Levillain [Mon, 13 Jul 2015 14:06:20 +0000 (14:06 +0000)]
Merge "Re-enable run-test 449-checker-bce on MIPS64."

9 years agoMerge "Remove the --compiler-backend option from script."
Nicolas Geoffray [Mon, 13 Jul 2015 13:56:50 +0000 (13:56 +0000)]
Merge "Remove the --compiler-backend option from script."

9 years agoRevert "Revert "Make dex2dex return a CompiledMethod after quickening.""
Nicolas Geoffray [Mon, 13 Jul 2015 11:56:00 +0000 (11:56 +0000)]
Revert "Revert "Make dex2dex return a CompiledMethod after quickening.""

This reverts commit 327c5ed30a1f016ef3e1bb26ea7b4abd34eb63b9.

Change-Id: I0dc5d92e5d1ef98830fbd3c40ec59a93f9e0422d

9 years agoRemove the --compiler-backend option from script.
Nicolas Geoffray [Mon, 13 Jul 2015 13:35:17 +0000 (14:35 +0100)]
Remove the --compiler-backend option from script.

Optimizing is now the default for apps.

Change-Id: I15617b881ac7a5a6fe7a281bfa61446bc60ef65d

9 years agoam 77d5e6bf: Merge "Change JIT code to use optimizing."
Nicolas Geoffray [Mon, 13 Jul 2015 13:28:59 +0000 (13:28 +0000)]
am 77d5e6bf: Merge "Change JIT code to use optimizing."

* commit '77d5e6bf4ea357d332762cde3aa3321a402eac75':
  Change JIT code to use optimizing.

9 years agoMerge "Change JIT code to use optimizing."
Nicolas Geoffray [Mon, 13 Jul 2015 13:18:41 +0000 (13:18 +0000)]
Merge "Change JIT code to use optimizing."

9 years agoRe-enable run-test 449-checker-bce on MIPS64.
Roland Levillain [Mon, 13 Jul 2015 12:33:04 +0000 (13:33 +0100)]
Re-enable run-test 449-checker-bce on MIPS64.

Bug: 21555893
Change-Id: I92e11637cc1f8f694e4d4138512cbcf47e22a249

9 years agoART: Don't nest indenters in oatdump.
Vladimir Marko [Fri, 26 Jun 2015 11:06:30 +0000 (12:06 +0100)]
ART: Don't nest indenters in oatdump.

Reduces the time taken by the oatdump_test by ~12s (15%)
on host and ~55s (9%) on N5.

Change-Id: I99bb16ff5f3640389815f1fe54379ca64eac071b

9 years agoam f185fb36: Merge "[optimizing] Don\'t rely on the verifier for String.<init>."
Nicolas Geoffray [Mon, 13 Jul 2015 12:05:24 +0000 (12:05 +0000)]
am f185fb36: Merge "[optimizing] Don\'t rely on the verifier for String.<init>."

* commit 'f185fb365e9faf58428762bace96d7729ea5bdbc':
  [optimizing] Don't rely on the verifier for String.<init>.

9 years agoam 5e094de2: Merge "Revert "Make dex2dex return a CompiledMethod after quickening.""
Nicolas Geoffray [Mon, 13 Jul 2015 12:05:22 +0000 (12:05 +0000)]
am 5e094de2: Merge "Revert "Make dex2dex return a CompiledMethod after quickening.""

* commit '5e094de24827292d8a13be2adbdcca54ae7d5ff0':
  Revert "Make dex2dex return a CompiledMethod after quickening."

9 years agoMerge "[optimizing] Don't rely on the verifier for String.<init>."
Nicolas Geoffray [Mon, 13 Jul 2015 11:55:19 +0000 (11:55 +0000)]
Merge "[optimizing] Don't rely on the verifier for String.<init>."

9 years agoMerge "Revert "Make dex2dex return a CompiledMethod after quickening.""
Nicolas Geoffray [Mon, 13 Jul 2015 11:54:08 +0000 (11:54 +0000)]
Merge "Revert "Make dex2dex return a CompiledMethod after quickening.""

9 years agoRevert "Make dex2dex return a CompiledMethod after quickening."
Nicolas Geoffray [Mon, 13 Jul 2015 11:53:56 +0000 (11:53 +0000)]
Revert "Make dex2dex return a CompiledMethod after quickening."

Build failures on arm/arm64.

This reverts commit 6920703c8eae0d90528ea09945e742582b6f8198.

Change-Id: I0dd5426610150937dac6e4d9dd9aa759bdf7fca4

9 years agoam 8bf1b566: Merge "Make dex2dex return a CompiledMethod after quickening."
Nicolas Geoffray [Mon, 13 Jul 2015 11:20:43 +0000 (11:20 +0000)]
am 8bf1b566: Merge "Make dex2dex return a CompiledMethod after quickening."

* commit '8bf1b5668257b50c220c05be5cb1105a9661afba':
  Make dex2dex return a CompiledMethod after quickening.

9 years agoMerge "Make dex2dex return a CompiledMethod after quickening."
Nicolas Geoffray [Mon, 13 Jul 2015 11:07:18 +0000 (11:07 +0000)]
Merge "Make dex2dex return a CompiledMethod after quickening."

9 years agoART: Fix arm32 assembly stub CFI
Andreas Gampe [Sat, 11 Jul 2015 06:51:03 +0000 (23:51 -0700)]
ART: Fix arm32 assembly stub CFI

Follow-up to 7ea6a170486d81b127e69673cd1020c4db628c93.

Change-Id: Ib6df28653374994c78cd5586f2381d36b74ca846

9 years agoam d4da3600: Merge "ART: Add Thread start VLOG"
Andreas Gampe [Sat, 11 Jul 2015 04:28:43 +0000 (04:28 +0000)]
am d4da3600: Merge "ART: Add Thread start VLOG"

* commit 'd4da360082e8eadcd12b5030f42a9ba598332471':
  ART: Add Thread start VLOG

9 years agoMerge "ART: Add Thread start VLOG"
Andreas Gampe [Sat, 11 Jul 2015 04:15:34 +0000 (04:15 +0000)]
Merge "ART: Add Thread start VLOG"

9 years agoART: Add Thread start VLOG
Andreas Gampe [Fri, 10 Jul 2015 04:53:15 +0000 (21:53 -0700)]
ART: Add Thread start VLOG

Add a stack trace at the time of thread creation or attaching to
the verbose:threads logging.

Change-Id: I5e07c81ce24f145c37ab172eda7bb4c54dad4445

9 years agoam ec97825f: Merge "Fix proxy handling in FindDeclaredVirtualMethod"
Mathieu Chartier [Sat, 11 Jul 2015 02:54:14 +0000 (02:54 +0000)]
am ec97825f: Merge "Fix proxy handling in FindDeclaredVirtualMethod"

* commit 'ec97825f8553b3a99b6dfbbb90a50fe65301ea94':
  Fix proxy handling in FindDeclaredVirtualMethod

9 years agoMerge "Fix proxy handling in FindDeclaredVirtualMethod"
Mathieu Chartier [Sat, 11 Jul 2015 02:42:47 +0000 (02:42 +0000)]
Merge "Fix proxy handling in FindDeclaredVirtualMethod"

9 years agoFix proxy handling in FindDeclaredVirtualMethod
Mathieu Chartier [Sat, 11 Jul 2015 01:26:41 +0000 (18:26 -0700)]
Fix proxy handling in FindDeclaredVirtualMethod

Added missing GetInterfaceMethodIfProxy and test.

Fixed formatting.

Bug: 22411819
https://code.google.com/p/android-developer-preview/issues/detail?id=2635

Change-Id: I3eece9c72091bb9d0262aacf0a75ec6908b5f4d2

9 years agoam 3aec6a37: Merge "Add VMDebug.countInstancesOfClasses"
Mathieu Chartier [Sat, 11 Jul 2015 00:52:49 +0000 (00:52 +0000)]
am 3aec6a37: Merge "Add VMDebug.countInstancesOfClasses"

* commit '3aec6a37ac110cbbdc1422b8b1d38c4f9ef9bf5a':
  Add VMDebug.countInstancesOfClasses

9 years agoMerge "Add VMDebug.countInstancesOfClasses"
Mathieu Chartier [Sat, 11 Jul 2015 00:38:16 +0000 (00:38 +0000)]
Merge "Add VMDebug.countInstancesOfClasses"

9 years agoAdd VMDebug.countInstancesOfClasses
Mathieu Chartier [Fri, 10 Jul 2015 20:19:51 +0000 (13:19 -0700)]
Add VMDebug.countInstancesOfClasses

countInstancesOfClasses allows passing multiple classes unlike
countInstanceOfClass instead of needing to do one at a time.

This is going to be used to speed up string mode checking.

Also changed the logic to not do a GC, this was the old Dalvik
behavior. It is the job of the caller to do this.

Added test.

https://code.google.com/p/android/issues/detail?id=177552

Change-Id: Ia85684f40cf59a52aa71a8479c711a994651209b

9 years agoam d6dae315: Merge "Change VisitNativeRoots to use unchecked get for method arrays"
Mathieu Chartier [Fri, 10 Jul 2015 22:58:41 +0000 (22:58 +0000)]
am d6dae315: Merge "Change VisitNativeRoots to use unchecked get for method arrays"

* commit 'd6dae315390e7bbb9e29fbc87e364261e737728f':
  Change VisitNativeRoots to use unchecked get for method arrays

9 years agoMerge "Change VisitNativeRoots to use unchecked get for method arrays"
Mathieu Chartier [Fri, 10 Jul 2015 22:44:12 +0000 (22:44 +0000)]
Merge "Change VisitNativeRoots to use unchecked get for method arrays"

9 years agoChange VisitNativeRoots to use unchecked get for method arrays
Mathieu Chartier [Fri, 10 Jul 2015 22:00:20 +0000 (15:00 -0700)]
Change VisitNativeRoots to use unchecked get for method arrays

Fixes some DCHECKs.

Change-Id: I464b599866a09bd4294b7033d69be880821767fb

9 years agoam eaffe350: Merge "Fix race condition for method root marking in VisitNativeRoots"
Mathieu Chartier [Fri, 10 Jul 2015 18:19:19 +0000 (18:19 +0000)]
am eaffe350: Merge "Fix race condition for method root marking in VisitNativeRoots"

* commit 'eaffe35038dc7b9e9e95ec997d32d19571973f54':
  Fix race condition for method root marking in VisitNativeRoots

9 years agoMerge "Fix race condition for method root marking in VisitNativeRoots"
Mathieu Chartier [Fri, 10 Jul 2015 18:08:56 +0000 (18:08 +0000)]
Merge "Fix race condition for method root marking in VisitNativeRoots"

9 years agoFix race condition for method root marking in VisitNativeRoots
Mathieu Chartier [Fri, 10 Jul 2015 01:31:35 +0000 (18:31 -0700)]
Fix race condition for method root marking in VisitNativeRoots

Only mark if non null, we may see a non zero length with a null
array due to race conditions with class loading.

Bug: 22077752
Change-Id: Icd37f70482efe320185d46ce4391aa0e0e43ff6f

9 years agoChange JIT code to use optimizing.
Nicolas Geoffray [Fri, 10 Jul 2015 16:29:39 +0000 (17:29 +0100)]
Change JIT code to use optimizing.

Obviously, will fall back to quick for most methods currently,
due to lack of -QUICK opcodes support.

Change-Id: I28882fbe805cd907275b6047437d9639a475964a

9 years agoam 753e36e2: Merge "Enable multi-dex content per file in dexlist/dump."
Aart Bik [Fri, 10 Jul 2015 17:29:44 +0000 (17:29 +0000)]
am 753e36e2: Merge "Enable multi-dex content per file in dexlist/dump."

* commit '753e36e29a75db786d1dfe0aaeec526cea463c76':
  Enable multi-dex content per file in dexlist/dump.

9 years agoam e46d0b50: Merge "Revert "Fuse long and FP compare & condition on ARM64 in Optimizi...
Roland Levillain [Fri, 10 Jul 2015 17:29:43 +0000 (17:29 +0000)]
am e46d0b50: Merge "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing.""

* commit 'e46d0b50fe63c3d7b7a690d8d367bae2c17a3dfe':
  Revert "Fuse long and FP compare & condition on ARM64 in Optimizing."

9 years agoMerge "Enable multi-dex content per file in dexlist/dump."
Aart Bik [Fri, 10 Jul 2015 17:25:39 +0000 (17:25 +0000)]
Merge "Enable multi-dex content per file in dexlist/dump."

9 years ago[optimizing] Don't rely on the verifier for String.<init>.
Nicolas Geoffray [Fri, 10 Jul 2015 10:38:52 +0000 (11:38 +0100)]
[optimizing] Don't rely on the verifier for String.<init>.

Continue work on cutting the dependency on the verifier.

Change-Id: I0f95b1eb2e10fd8f6bf54817f1202bdf6dfdb0fe

9 years agoMerge "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing.""
Roland Levillain [Fri, 10 Jul 2015 17:19:29 +0000 (17:19 +0000)]
Merge "Revert "Fuse long and FP compare & condition on ARM64 in Optimizing.""

9 years agoRevert "Fuse long and FP compare & condition on ARM64 in Optimizing."
Roland Levillain [Fri, 10 Jul 2015 17:18:11 +0000 (17:18 +0000)]
Revert "Fuse long and FP compare & condition on ARM64 in Optimizing."

This reverts commit 5cfe61f27ed9203498169355bb95db756486d292.

Change-Id: I9879e76e7f8315cace05700e3b571a6a4749bf1a

9 years agoMake dex2dex return a CompiledMethod after quickening.
Nicolas Geoffray [Thu, 9 Jul 2015 17:15:19 +0000 (18:15 +0100)]
Make dex2dex return a CompiledMethod after quickening.

This is the starting piece of pushing more verification and
dex2dex data into an .oat file, to lower the dependency on verification
results at runtime.

Change-Id: I8e1b49a0207714bc5b84d1f606806718c5c7fb69

9 years agoam 404ea410: Merge "Fuse long and FP compare & condition on ARM64 in Optimizing."
Roland Levillain [Fri, 10 Jul 2015 15:19:12 +0000 (15:19 +0000)]
am 404ea410: Merge "Fuse long and FP compare & condition on ARM64 in Optimizing."

* commit '404ea410c5c1566909ae741582046b7cae2bd681':
  Fuse long and FP compare & condition on ARM64 in Optimizing.

9 years agoMerge "Fuse long and FP compare & condition on ARM64 in Optimizing."
Roland Levillain [Fri, 10 Jul 2015 15:10:46 +0000 (15:10 +0000)]
Merge "Fuse long and FP compare & condition on ARM64 in Optimizing."

9 years agoam f4000216: Merge "Fuse long and FP compare & condition on ARM in Optimizing."
Roland Levillain [Fri, 10 Jul 2015 11:01:37 +0000 (11:01 +0000)]
am f4000216: Merge "Fuse long and FP compare & condition on ARM in Optimizing."

* commit 'f40002163fed58215df569e89f0a0b9661e16273':
  Fuse long and FP compare & condition on ARM in Optimizing.

9 years agoMerge "Fuse long and FP compare & condition on ARM in Optimizing."
Roland Levillain [Fri, 10 Jul 2015 10:51:14 +0000 (10:51 +0000)]
Merge "Fuse long and FP compare & condition on ARM in Optimizing."

9 years agoam f16b820f: Merge "Initialize pDeoptimize quick entry pointer for Mips."
Roland Levillain [Fri, 10 Jul 2015 10:20:41 +0000 (10:20 +0000)]
am f16b820f: Merge "Initialize pDeoptimize quick entry pointer for Mips."

* commit 'f16b820fc18ff86e765a14176f05417305d689a0':
  Initialize pDeoptimize quick entry pointer for Mips.

9 years agoMerge "Initialize pDeoptimize quick entry pointer for Mips."
Roland Levillain [Fri, 10 Jul 2015 10:08:06 +0000 (10:08 +0000)]
Merge "Initialize pDeoptimize quick entry pointer for Mips."

9 years agoFuse long and FP compare & condition on ARM64 in Optimizing.
Roland Levillain [Fri, 10 Jul 2015 09:38:11 +0000 (10:38 +0100)]
Fuse long and FP compare & condition on ARM64 in Optimizing.

Bug: 21120453
Change-Id: I701e808600fb5ba9ff4d0f5e19e4ce22b1d34b29

9 years agoam f470eb88: Merge "ART: Change merges with Undefined to Undefined"
Andreas Gampe [Fri, 10 Jul 2015 01:39:15 +0000 (01:39 +0000)]
am f470eb88: Merge "ART: Change merges with Undefined to Undefined"

* commit 'f470eb88cc3d3654f0fb1ca38622fa3a35fbd8a3':
  ART: Change merges with Undefined to Undefined

9 years agoMerge "ART: Change merges with Undefined to Undefined"
Andreas Gampe [Fri, 10 Jul 2015 01:27:00 +0000 (01:27 +0000)]
Merge "ART: Change merges with Undefined to Undefined"

9 years agoam d65ddd18: Merge "Remove unused WorkStealing thread pool"
Mathieu Chartier [Fri, 10 Jul 2015 00:49:46 +0000 (00:49 +0000)]
am d65ddd18: Merge "Remove unused WorkStealing thread pool"

* commit 'd65ddd188a94cccabf723c860f0750e33f30cdb3':
  Remove unused WorkStealing thread pool

9 years agoMerge "Remove unused WorkStealing thread pool"
Mathieu Chartier [Fri, 10 Jul 2015 00:37:31 +0000 (00:37 +0000)]
Merge "Remove unused WorkStealing thread pool"

9 years agoRemove unused WorkStealing thread pool
Mathieu Chartier [Thu, 9 Jul 2015 23:58:42 +0000 (16:58 -0700)]
Remove unused WorkStealing thread pool

Bug: 10141986
Change-Id: Id2042320afc91b34b6203e82fb56424281c8d64b

9 years agoam 07c65d2b: Merge "Clean up some includes"
Mathieu Chartier [Thu, 9 Jul 2015 23:54:47 +0000 (23:54 +0000)]
am 07c65d2b: Merge "Clean up some includes"

* commit '07c65d2b0c7faa6ffc288f538181177809aa5bdb':
  Clean up some includes

9 years agoMerge "Clean up some includes"
Mathieu Chartier [Thu, 9 Jul 2015 23:43:48 +0000 (23:43 +0000)]
Merge "Clean up some includes"

9 years agoClean up some includes
Mathieu Chartier [Thu, 9 Jul 2015 22:15:09 +0000 (15:15 -0700)]
Clean up some includes

Change-Id: Ia03a3b54b235df38d5cfe096fef1aebe2b80eb29

9 years agoam c89216b5: Merge "ART: Improve the symbolize script"
Andreas Gampe [Thu, 9 Jul 2015 22:03:01 +0000 (22:03 +0000)]
am c89216b5: Merge "ART: Improve the symbolize script"

* commit 'c89216b5485fba9a604e3c6dd5101fa4035918eb':
  ART: Improve the symbolize script

9 years agoMerge "ART: Improve the symbolize script"
Andreas Gampe [Thu, 9 Jul 2015 21:50:13 +0000 (21:50 +0000)]
Merge "ART: Improve the symbolize script"

9 years agoART: Improve the symbolize script
Andreas Gampe [Thu, 9 Jul 2015 21:39:56 +0000 (14:39 -0700)]
ART: Improve the symbolize script

Allow a list of files to pull. This improves turnaround time when
tracking down perf hotspots.

Bug: 21760614

(cherry picked from commit 6f0a9c305b3e51b852fa9f188590076d6612864e)

Change-Id: I824e875053940d59eb00f9d796ef402632905c39

9 years agoART: Change merges with Undefined to Undefined
Andreas Gampe [Thu, 9 Jul 2015 18:30:14 +0000 (11:30 -0700)]
ART: Change merges with Undefined to Undefined

The result of a merge with an Undefined type should be Undefined.
Conflicts are allowed to be copied around, but Undefined registers
should not be touched at all, except to be written into.

Add a success test case (the register isn't used) and a fail test
case (the register is tried to be copied).

Bug: 22331663
Bug: 22371999
Change-Id: I9697ce31c1d2ab5aee0433dcf1253bcca79c2983

9 years agoam f99628f7: Merge "ART: Fix test"
Andreas Gampe [Thu, 9 Jul 2015 18:49:16 +0000 (18:49 +0000)]
am f99628f7: Merge "ART: Fix test"

* commit 'f99628f7673c21c42be34f95bef6bbb50cd99f20':
  ART: Fix test