OSDN Git Service

android-x86/art.git
8 years agoQuery declaring class before querying IsNative.
Nicolas Geoffray [Fri, 4 Mar 2016 16:43:27 +0000 (16:43 +0000)]
Query declaring class before querying IsNative.

IsNative checks that the declaring class is not null.

Change-Id: I9b775858cdb685eb633b3d8a8a271a3d451bb8a9

8 years agoMerge "Fix very rare bug around JIT code cache collection."
Nicolas Geoffray [Fri, 4 Mar 2016 16:30:31 +0000 (16:30 +0000)]
Merge "Fix very rare bug around JIT code cache collection."

8 years agoMerge "Ignore 145-alloc-tracking-stress failures in interpreter with CC."
Roland Levillain [Fri, 4 Mar 2016 16:14:18 +0000 (16:14 +0000)]
Merge "Ignore 145-alloc-tracking-stress failures in interpreter with CC."

8 years agoMerge "ARM64: Implement SystemArrayCopyChar intrinsic."
Nicolas Geoffray [Fri, 4 Mar 2016 16:13:10 +0000 (16:13 +0000)]
Merge "ARM64: Implement SystemArrayCopyChar intrinsic."

8 years agoIgnore 145-alloc-tracking-stress failures in interpreter with CC.
Roland Levillain [Fri, 4 Mar 2016 16:01:22 +0000 (16:01 +0000)]
Ignore 145-alloc-tracking-stress failures in interpreter with CC.

This run-test fails also with the interpreter on the
concurrent collector configuration; disable it for now.

Bug: 27467554
Change-Id: I54f76536b498ea2dedfd76d1bd77e1e26b415eb2

8 years agoMerge "Make sure we keep adb logs on buildbots."
Nicolas Geoffray [Fri, 4 Mar 2016 15:47:41 +0000 (15:47 +0000)]
Merge "Make sure we keep adb logs on buildbots."

8 years agoMerge "Re-enable CFI test for compressed symbols."
David Srbecky [Fri, 4 Mar 2016 15:38:30 +0000 (15:38 +0000)]
Merge "Re-enable CFI test for compressed symbols."

8 years agoRe-enable CFI test for compressed symbols.
David Srbecky [Fri, 4 Mar 2016 14:42:05 +0000 (14:42 +0000)]
Re-enable CFI test for compressed symbols.

This enables the test for remote unwinding (modelling debuggerd),
but it does not test local unwinding since it is disabled for
performance reasons in libunwind.

Bug: 27391690
Change-Id: I28451576c421bbd70259d757332a178f29bf3646

8 years agoMake sure we keep adb logs on buildbots.
Nicolas Geoffray [Fri, 4 Mar 2016 15:28:35 +0000 (15:28 +0000)]
Make sure we keep adb logs on buildbots.

Change-Id: I79239967a74eaef6d10b546407b223422741d157

8 years agoFix very rare bug around JIT code cache collection.
Nicolas Geoffray [Fri, 4 Mar 2016 14:32:59 +0000 (14:32 +0000)]
Fix very rare bug around JIT code cache collection.

The bug is the following:
1) JIT thread: We start a code cache collection.
2) JIT thread: We mark all code that is in the call stack of all
   threads.
3) Mutator thread: after marking its stack, resumes and does call
   that pushes JIT compiled code to the call stack.
4) Mutator thread: deoptimizes compiled code of ArtMethod Foo,
   and therefore updates the entry point of Foo through
   JitCodeCache::InvalidateCompiledCodeFor.
   (Note that updating the entrypoint could also be done through
   instrumentation).
5) JIT thread: Call JitCodeCache::RemoveUnusedAndUnmarkedCode.
   The method used to remove entries that were not entrypoints.
   It sees the compiled code for Foo but that is not an entrypoint
   anymore, so deletes it.
6) Mutator thread problem: it now has compiled code in its call
   stack that is deleted.

If it's only one mutator thread, we only hit a DCHECK when walking
the stack, as we are now seeing an invalid pc. The deoptimization
will longjmp to the caller of that invalid entry anyway.

However, if multiple mutator threads are involved, one thread
might invalidate the compiled code while the other is still
running it. And we end up deleting code that is in the call
stack of a thread, and we will crash.

The fix is to mark entrypoints before marking call stacks,
so that anything a thread might jump to is marked and kept.

bug:27424509
bug:23128949
bug:26846185

Change-Id: I07cd08cedd96b9900629f7535e95404f622104ea

8 years agoMerge "Suppress ArrayDequeTest#testForEachRemaining temporarily."
Nicolas Geoffray [Fri, 4 Mar 2016 14:45:28 +0000 (14:45 +0000)]
Merge "Suppress ArrayDequeTest#testForEachRemaining temporarily."

8 years agoSuppress ArrayDequeTest#testForEachRemaining temporarily.
Narayan Kamath [Fri, 4 Mar 2016 14:40:32 +0000 (14:40 +0000)]
Suppress ArrayDequeTest#testForEachRemaining temporarily.

Change-Id: I297a392d694b8143010084469c401f15a887f2f1

8 years agoARM64: Implement SystemArrayCopyChar intrinsic.
Scott Wakeling [Mon, 29 Feb 2016 15:17:20 +0000 (15:17 +0000)]
ARM64: Implement SystemArrayCopyChar intrinsic.

Change-Id: I33f559139a38ddf20cacb8c997e38fa7663a4066

8 years agoMerge "Refine statistics around the JIT."
Nicolas Geoffray [Fri, 4 Mar 2016 11:58:43 +0000 (11:58 +0000)]
Merge "Refine statistics around the JIT."

8 years agoMerge "Move back the boot image to debuggable."
Nicolas Geoffray [Fri, 4 Mar 2016 11:55:41 +0000 (11:55 +0000)]
Merge "Move back the boot image to debuggable."

8 years agoMove back the boot image to debuggable.
Nicolas Geoffray [Fri, 4 Mar 2016 11:38:14 +0000 (11:38 +0000)]
Move back the boot image to debuggable.

Full frame deoptimization is broken with it.

Partial revert of https://android-review.googlesource.com/#/c/201383/

Change-Id: I7a402d79b0882f81987e56869551840da7d553e0

8 years agoMerge "Fix lint issue."
Nicolas Geoffray [Fri, 4 Mar 2016 11:23:26 +0000 (11:23 +0000)]
Merge "Fix lint issue."

8 years agoFix lint issue.
Nicolas Geoffray [Fri, 4 Mar 2016 11:10:17 +0000 (11:10 +0000)]
Fix lint issue.

Change-Id: I549cc641510a7f941d85f3a5f38127bc6701a0a3

8 years agoMerge "Integer.bitCount and Long.bitCount intrinsics for ARM64"
Nicolas Geoffray [Fri, 4 Mar 2016 10:11:09 +0000 (10:11 +0000)]
Merge "Integer.bitCount and Long.bitCount intrinsics for ARM64"

8 years agoMerge "ProfilingInfo roots should be visited by the declaring class."
Nicolas Geoffray [Fri, 4 Mar 2016 09:59:20 +0000 (09:59 +0000)]
Merge "ProfilingInfo roots should be visited by the declaring class."

8 years agoMerge "MIPS32: Highest/Lowest One Bit Set:"
Andreas Gampe [Fri, 4 Mar 2016 04:49:03 +0000 (04:49 +0000)]
Merge "MIPS32: Highest/Lowest One Bit Set:"

8 years agoMIPS32: Highest/Lowest One Bit Set:
Chris Larsen [Wed, 17 Feb 2016 01:10:40 +0000 (17:10 -0800)]
MIPS32: Highest/Lowest One Bit Set:

- int java.lang.Integer.highestOneBit(int)
- int java.lang.Integer.lowestOneBit(int)
- long java.lang.Long.highestOneBit(long)
- long java.lang.Long.lowestOneBit(long)

Change-Id: I575ec6f70cf5cac620cc5d9e49ec3f7b554b4622

8 years agoMerge "Add ScopedGCCriticalSection to Trace::StopTracing."
Hiroshi Yamauchi [Fri, 4 Mar 2016 02:07:41 +0000 (02:07 +0000)]
Merge "Add ScopedGCCriticalSection to Trace::StopTracing."

8 years agoMerge "MIPS32: Improve TrailingZeros"
Andreas Gampe [Fri, 4 Mar 2016 01:59:03 +0000 (01:59 +0000)]
Merge "MIPS32: Improve TrailingZeros"

8 years agoMIPS32: Improve TrailingZeros
Chris Larsen [Thu, 18 Feb 2016 01:44:58 +0000 (17:44 -0800)]
MIPS32: Improve TrailingZeros

Change-Id: I1269ad5c58e1e3f39f3c2a04a3ed6dc1e44ff2fc

8 years agoMerge "MIPS32: Implement bitCount intrinsics."
Andreas Gampe [Fri, 4 Mar 2016 00:38:44 +0000 (00:38 +0000)]
Merge "MIPS32: Implement bitCount intrinsics."

8 years agoMIPS32: Implement bitCount intrinsics.
Chris Larsen [Sat, 13 Feb 2016 01:59:00 +0000 (17:59 -0800)]
MIPS32: Implement bitCount intrinsics.

- int java.lang.Integer.bitCount(int)
- int java.lang.Long.bitCount(long)

Change-Id: Ibde089675064aa052cfcd9f53aa36c25a4cbfca9

8 years agoMerge "MIPS32: Implement isInfinite intrinsics."
Andreas Gampe [Fri, 4 Mar 2016 00:02:15 +0000 (00:02 +0000)]
Merge "MIPS32: Implement isInfinite intrinsics."

8 years agoAdd ScopedGCCriticalSection to Trace::StopTracing.
Hiroshi Yamauchi [Thu, 3 Mar 2016 23:09:27 +0000 (15:09 -0800)]
Add ScopedGCCriticalSection to Trace::StopTracing.

This attempts to fix a deadlock in 545-tracing-and-jit with the read
barrier config. I think the cause is the same as what CL 174096
describes and it missed this one in Trace::StopTracing.

Bug: 26429931
Bug: 12687968
Change-Id: I02ca45e2667c9f6afc27d73919d6c31d204cc621

8 years agoProfilingInfo roots should be visited by the declaring class.
Nicolas Geoffray [Thu, 3 Mar 2016 23:14:49 +0000 (23:14 +0000)]
ProfilingInfo roots should be visited by the declaring class.

There seems to be an implicit assumption that only classes can
visit native roots (ie kVisitNativeRoots in Class::VisitReferences).
However, some places like Dbg::VisitRoots and
AllocRecordObjectMap::VisitRoots visit ArtMethod::VisitRoot
directly, and that breaks the assumptions.

bug:27435111
Change-Id: I5b476e614ba820394635d946cb562bf872a50e7e

8 years agoMerge "Add systrace to VerifyClass"
Mathieu Chartier [Thu, 3 Mar 2016 21:38:41 +0000 (21:38 +0000)]
Merge "Add systrace to VerifyClass"

8 years agoAdd systrace to VerifyClass
Mathieu Chartier [Thu, 3 Mar 2016 03:23:17 +0000 (19:23 -0800)]
Add systrace to VerifyClass

Useful to see if verifier is preempting anything.

(cherry picked from commit 7f459f5859e5f01c92c3711e7d63c062f510b416)

Change-Id: I594cbdc5c2f8934fc6c4fc7ee47fc4ccfc3c627d

8 years agoMIPS32: Implement isInfinite intrinsics.
Chris Larsen [Thu, 11 Feb 2016 22:23:53 +0000 (14:23 -0800)]
MIPS32: Implement isInfinite intrinsics.

- boolean java.lang.Float.isInfinite(float)
- boolean java.lang.Double.isInfinite(double)

Change-Id: I17dc2380ec864fd7612025ed400e29dd115ccab4

8 years agoMerge "Move some default-methods tests to Java from Smali."
Alex Light [Thu, 3 Mar 2016 20:35:36 +0000 (20:35 +0000)]
Merge "Move some default-methods tests to Java from Smali."

8 years agoMove some default-methods tests to Java from Smali.
Alex Light [Tue, 1 Mar 2016 22:33:51 +0000 (14:33 -0800)]
Move some default-methods tests to Java from Smali.

Move all smali tests for default method behavior in
non-source-incompatible contexts to java. Also move some of the
simpler tests for source and binary incompatibilities into java as
well when possible.

Bug: 27310767

Change-Id: I753196f19849494825953c1bf06f15b7132f459b

8 years agoMerge "change image in run-jdwp-tests.sh"
Mingyao Yang [Thu, 3 Mar 2016 18:19:46 +0000 (18:19 +0000)]
Merge "change image in run-jdwp-tests.sh"

8 years agoMerge "Add a PassScope for PrepareForRegisterAllocation"
Mingyao Yang [Thu, 3 Mar 2016 18:19:13 +0000 (18:19 +0000)]
Merge "Add a PassScope for PrepareForRegisterAllocation"

8 years agoMerge "Simplify LoadNativeLibrary()"
Dimitry Ivanov [Thu, 3 Mar 2016 17:05:15 +0000 (17:05 +0000)]
Merge "Simplify LoadNativeLibrary()"

8 years agoRefine statistics around the JIT.
Nicolas Geoffray [Thu, 3 Mar 2016 13:23:33 +0000 (13:23 +0000)]
Refine statistics around the JIT.

- Better namings.
- Now also time the code cache collection time.
- Random cleanups.

bug:23128949
bug:27445008
bug:27442890

Change-Id: I1dd52544bea678af868e7c47907f7a0fc9a146c3

8 years agoMerge "ART: cleanup exit_block_ in graph if exit block is removed"
David Brazdil [Thu, 3 Mar 2016 11:40:15 +0000 (11:40 +0000)]
Merge "ART: cleanup exit_block_ in graph if exit block is removed"

8 years agoInteger.bitCount and Long.bitCount intrinsics for ARM64
xueliang.zhong [Thu, 3 Mar 2016 10:52:51 +0000 (10:52 +0000)]
Integer.bitCount and Long.bitCount intrinsics for ARM64

Change-Id: If6180acc90239e52e5d33901b65e194d1ca7e248

8 years agoMerge "Ignore 145-alloc-tracking-stress run-test failures with CC."
Roland Levillain [Thu, 3 Mar 2016 11:28:41 +0000 (11:28 +0000)]
Merge "Ignore 145-alloc-tracking-stress run-test failures with CC."

8 years agoART: cleanup exit_block_ in graph if exit block is removed
Serguei Katkov [Wed, 2 Mar 2016 10:25:36 +0000 (16:25 +0600)]
ART: cleanup exit_block_ in graph if exit block is removed

If we remove the exit block from the graph (for example method
contains infinite loop) we should also clean the field exit_block_
in graph. At least inliner expects it.

Change-Id: Icda668da2233cdd6cd673635a1949f5ed34cf270
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoIgnore 145-alloc-tracking-stress run-test failures with CC.
Roland Levillain [Thu, 3 Mar 2016 10:43:21 +0000 (10:43 +0000)]
Ignore 145-alloc-tracking-stress run-test failures with CC.

This run-test sometimes fails with a timeout on ART
Builbot's x86-64 concurrent collector configuration. Disable
it to make the build turn green again, while we investigate
the failure.

Bug: 27467554
Change-Id: I0bac307ec85f197afb8763ca41a6ee50567c4d5f

8 years agoMerge "Do a TryLock when allocating a ProfilingInfo from the interpreter."
Nicolas Geoffray [Thu, 3 Mar 2016 09:26:46 +0000 (09:26 +0000)]
Merge "Do a TryLock when allocating a ProfilingInfo from the interpreter."

8 years agoAdd a PassScope for PrepareForRegisterAllocation
Mingyao Yang [Wed, 2 Mar 2016 22:59:32 +0000 (14:59 -0800)]
Add a PassScope for PrepareForRegisterAllocation

This pass does transform the graph so make it part of cfg-dumping.

Change-Id: I42e361382c85c97b974faad8bb0fcf2cb0750355

8 years agoMerge "Delete alloc tracking map outside of critical section"
Mathieu Chartier [Wed, 2 Mar 2016 22:01:28 +0000 (22:01 +0000)]
Merge "Delete alloc tracking map outside of critical section"

8 years agoDelete alloc tracking map outside of critical section
Mathieu Chartier [Wed, 2 Mar 2016 20:52:37 +0000 (12:52 -0800)]
Delete alloc tracking map outside of critical section

There can be lock order violations otherwise due to runtime shutdown
lock that may get acquired in the condition variable destructor.

Change-Id: I23cb2dfe241f5cc6c42bf6766e89042cf06069b6

8 years agochange image in run-jdwp-tests.sh
Mingyao Yang [Tue, 1 Mar 2016 22:51:52 +0000 (14:51 -0800)]
change image in run-jdwp-tests.sh

Change-Id: I305fdd5b8b33c446529fe99f872af4fb8685bd7c

8 years agoMerge "Revert "Disable test after libunwind change.""
Andreas Gampe [Wed, 2 Mar 2016 20:57:25 +0000 (20:57 +0000)]
Merge "Revert "Disable test after libunwind change.""

8 years agoRevert "Disable test after libunwind change."
Andreas Gampe [Wed, 2 Mar 2016 16:51:21 +0000 (08:51 -0800)]
Revert "Disable test after libunwind change."

This reverts commit 18047e4cd06387958d315d4de6d9c1753a08ee9e.

Moving the in-process lzma disable to libunwind allows to unwind not-zipped debug-info, again.

Bug: 27391690
Change-Id: I8c24dd0e73bc9d57ce83c6f5a8272d8252e5b809

8 years agoMerge "Disable 577-profile-foreign-dex temporarily."
Hiroshi Yamauchi [Wed, 2 Mar 2016 20:53:18 +0000 (20:53 +0000)]
Merge "Disable 577-profile-foreign-dex temporarily."

8 years agoMerge "Fast ART MIPS64 interpreter"
Bill Buzbee [Wed, 2 Mar 2016 20:17:51 +0000 (20:17 +0000)]
Merge "Fast ART MIPS64 interpreter"

8 years agoDisable 577-profile-foreign-dex temporarily.
Hiroshi Yamauchi [Wed, 2 Mar 2016 20:12:54 +0000 (12:12 -0800)]
Disable 577-profile-foreign-dex temporarily.

Until a fix arrives.

Bug: 27454772
Change-Id: Ieec219792c507ad85561a4188ec873d2f18e4604

8 years agoMerge "Clear inline caches if a ProfilingInfo gets revived."
Nicolas Geoffray [Wed, 2 Mar 2016 19:47:54 +0000 (19:47 +0000)]
Merge "Clear inline caches if a ProfilingInfo gets revived."

8 years agoMerge "Fix potential linear alloc memory leak"
Mathieu Chartier [Wed, 2 Mar 2016 19:44:29 +0000 (19:44 +0000)]
Merge "Fix potential linear alloc memory leak"

8 years agoMerge "Simplified intrinsic macro mechanism."
Aart Bik [Wed, 2 Mar 2016 18:53:45 +0000 (18:53 +0000)]
Merge "Simplified intrinsic macro mechanism."

8 years agoFix potential linear alloc memory leak
Mathieu Chartier [Wed, 2 Mar 2016 18:30:23 +0000 (10:30 -0800)]
Fix potential linear alloc memory leak

Previously, if we created a linear alloc for a class loader but
never created the class table, the linear alloc would never get
freed since it would have no corresponding ClassLoaderData.

Fixes valgrind-test-art-host-gtest-oat_test

Bug: 27384882
Change-Id: Ic8f35b58c3117127a39521b6b9d25ef12c72040c

8 years agoMerge "Remove references to $(ACP)"
Dan Willemsen [Wed, 2 Mar 2016 18:12:06 +0000 (18:12 +0000)]
Merge "Remove references to $(ACP)"

8 years agoClear inline caches if a ProfilingInfo gets revived.
Nicolas Geoffray [Wed, 2 Mar 2016 17:09:35 +0000 (17:09 +0000)]
Clear inline caches if a ProfilingInfo gets revived.

This avoids stalled class references.

Bug: 27398183
Bug: 23128949
Bug: 26846185
Change-Id: I9539215241708e26fef887e02201ce1feabc2d1a

8 years agoSimplified intrinsic macro mechanism.
Aart Bik [Tue, 1 Mar 2016 23:16:54 +0000 (15:16 -0800)]
Simplified intrinsic macro mechanism.

Rationale:
Reduces boiler-plate code in all intrinsics code generators.
Also, the newly introduced "unreachable" macro provides a
static verifier that we do not have unreachable and thus
redundant code in the generators. In fact, this change
exposes that the MIPS32 and MIPS64 rotation intrinsics
(IntegerRotateRight, LongRotateRight, IntegerRotateLeft,
LongRotateLeft) are unreachable, since they are handled
as HIR constructs for all architectures. Thus the code
can be removed.

Change-Id: I0309799a0db580232137ded72bb8a7bbd45440a8

8 years agoMerge "Improve Checker error messages"
David Brazdil [Wed, 2 Mar 2016 16:41:33 +0000 (16:41 +0000)]
Merge "Improve Checker error messages"

8 years agoMerge "Revert "Revert "Use the interpreter as a heartbeat for the JIT."""
Nicolas Geoffray [Wed, 2 Mar 2016 16:39:08 +0000 (16:39 +0000)]
Merge "Revert "Revert "Use the interpreter as a heartbeat for the JIT."""

8 years agoRevert "Revert "Use the interpreter as a heartbeat for the JIT.""
Nicolas Geoffray [Wed, 2 Mar 2016 12:05:30 +0000 (12:05 +0000)]
Revert "Revert "Use the interpreter as a heartbeat for the JIT.""

Bug: 27398183
Bug: 23128949
Bug: 26846185

This reverts commit a96917a6983a5abbe973255a3846fda549fb1657.

Change-Id: I5c4f0d87d3293a6a7ab56a33396670704b66a347

8 years agoImprove Checker error messages
David Brazdil [Wed, 2 Mar 2016 16:09:46 +0000 (16:09 +0000)]
Improve Checker error messages

Now prints the offending Checker line and variable values.

Change-Id: Id4395083de6ddddbd69f66cb7ba38c943146799a

8 years agoFast ART MIPS64 interpreter
Alexey Frunze [Wed, 3 Feb 2016 04:25:45 +0000 (20:25 -0800)]
Fast ART MIPS64 interpreter

Change-Id: I5dda522df0acf9f9df626fe4f5ecfe6c4df600d3

8 years agoMerge "ART: Enable JitProfiling for x86_64 Mterp"
Bill Buzbee [Wed, 2 Mar 2016 15:53:46 +0000 (15:53 +0000)]
Merge "ART: Enable JitProfiling for x86_64 Mterp"

8 years agoMerge "oatdump: Add option to print just the header"
David Brazdil [Wed, 2 Mar 2016 15:44:34 +0000 (15:44 +0000)]
Merge "oatdump: Add option to print just the header"

8 years agooatdump: Add option to print just the header
David Brazdil [Wed, 2 Mar 2016 12:18:03 +0000 (12:18 +0000)]
oatdump: Add option to print just the header

Sometimes that's all one needs.

Change-Id: I0c442ed32f1662ad0b37dc2fccedd964ed1b1466

8 years agoMerge "Fix one more Checker test after switch to Jack"
David Brazdil [Wed, 2 Mar 2016 13:27:06 +0000 (13:27 +0000)]
Merge "Fix one more Checker test after switch to Jack"

8 years agoFix one more Checker test after switch to Jack
David Brazdil [Wed, 2 Mar 2016 13:25:57 +0000 (13:25 +0000)]
Fix one more Checker test after switch to Jack

Bug: 25635944
Change-Id: I61780b3505104f2b8a62bc2dee889b8cd444c696

8 years agoMerge "ART: Switch Checker run-tests to Jack"
David Brazdil [Wed, 2 Mar 2016 11:41:54 +0000 (11:41 +0000)]
Merge "ART: Switch Checker run-tests to Jack"

8 years agoART: Switch Checker run-tests to Jack
David Brazdil [Mon, 29 Feb 2016 09:14:51 +0000 (09:14 +0000)]
ART: Switch Checker run-tests to Jack

Bug: 25635944
Change-Id: Ic6774028025b51f54589e9625003e8f69cf39dea

8 years agoMerge "Revert "ART: Allow unwinding unattached threads""
Nicolas Geoffray [Wed, 2 Mar 2016 10:27:22 +0000 (10:27 +0000)]
Merge "Revert "ART: Allow unwinding unattached threads""

8 years agoRevert "ART: Allow unwinding unattached threads"
Nicolas Geoffray [Wed, 2 Mar 2016 10:27:01 +0000 (10:27 +0000)]
Revert "ART: Allow unwinding unattached threads"

This reverts commit f7286721a51c772b2abb42fef5bc0d2548df2372.

Change-Id: I6c96ece063041e94d40a96bdd054f89cd7875ade

8 years agoMerge "Give the JIT its own arena pool to avoid lock contentions."
Nicolas Geoffray [Wed, 2 Mar 2016 09:39:06 +0000 (09:39 +0000)]
Merge "Give the JIT its own arena pool to avoid lock contentions."

8 years agoMerge "More run-test with Jack"
Sebastien Hertz [Wed, 2 Mar 2016 09:19:03 +0000 (09:19 +0000)]
Merge "More run-test with Jack"

8 years agoMerge "Disable test after libunwind change."
Nicolas Geoffray [Wed, 2 Mar 2016 08:33:33 +0000 (08:33 +0000)]
Merge "Disable test after libunwind change."

8 years agoDisable test after libunwind change.
Nicolas Geoffray [Wed, 2 Mar 2016 08:30:44 +0000 (08:30 +0000)]
Disable test after libunwind change.

Change that broke it:
https://android-review.googlesource.com/205606

bug:27391690
Change-Id: I73c545619a6a1bb03e49120466ac91686363230f

8 years agoART: Enable JitProfiling for x86_64 Mterp
Serguei Katkov [Fri, 26 Feb 2016 07:00:40 +0000 (13:00 +0600)]
ART: Enable JitProfiling for x86_64 Mterp

Adds branch profiling and enables for x86_64.
Support interpreter switching in x86_64 mterp.

Change-Id: I0cb9fcf3e2a01e411d84efc78449e86c10e6bcac
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoRemove references to $(ACP)
Dan Willemsen [Tue, 1 Mar 2016 05:09:08 +0000 (21:09 -0800)]
Remove references to $(ACP)

We're changing the implementation of these macros to not use acp.
Instead of having to keep this in sync, move to using a standard
prebuilt module. The build system has been updated to explicitly add the
executable bit to prebuilt modules in the EXECUTABLES class.

Change-Id: I29cf4d48619e022b7da65ef2df05a92bed08a456

8 years agoMerge "ART: Allow unwinding unattached threads"
Andreas Gampe [Wed, 2 Mar 2016 05:00:05 +0000 (05:00 +0000)]
Merge "ART: Allow unwinding unattached threads"

8 years agoMerge "Revert "Disable flaky 130-hprof test.""
Mathieu Chartier [Wed, 2 Mar 2016 02:39:49 +0000 (02:39 +0000)]
Merge "Revert "Disable flaky 130-hprof test.""

8 years agoRevert "Disable flaky 130-hprof test."
Mathieu Chartier [Wed, 2 Mar 2016 01:40:55 +0000 (17:40 -0800)]
Revert "Disable flaky 130-hprof test."

Bug: 27337759

This reverts commit 2f0d3bc12f9ade80f4d3c21b7c4aad2cfe10f19e.

8 years agoMerge "Fix allocation tracking race"
Mathieu Chartier [Wed, 2 Mar 2016 01:40:52 +0000 (01:40 +0000)]
Merge "Fix allocation tracking race"

8 years agoFix allocation tracking race
Mathieu Chartier [Tue, 1 Mar 2016 02:13:38 +0000 (18:13 -0800)]
Fix allocation tracking race

Check if changed from uninstrumented to instrumented during GC for
alloc. If we changed, retry the allocation with kInstrumented = true.

Added stress test.

Bug: 27337759

Change-Id: Iaad7977693c9ed927f779a66b29cd58341a837da

8 years agoMerge "Lower JIT thread priority"
Andreas Gampe [Tue, 1 Mar 2016 23:30:10 +0000 (23:30 +0000)]
Merge "Lower JIT thread priority"

8 years agoMerge "ART: Fix overlapping instruction IDs in inliner"
David Brazdil [Tue, 1 Mar 2016 22:55:18 +0000 (22:55 +0000)]
Merge "ART: Fix overlapping instruction IDs in inliner"

8 years agoART: Fix overlapping instruction IDs in inliner
David Brazdil [Mon, 29 Feb 2016 16:53:33 +0000 (16:53 +0000)]
ART: Fix overlapping instruction IDs in inliner

Inliner creates the inner graph so that it generates instruction IDs
higher than the outer graph. This was broken because the inliner
would create instructions in the outer graph before the inner graph
is inlined.

The bug cannot be triggered because the offending instruction would
share the same ID as the first inner HLocal, which is removed before
the inner graph is inlined. The added DCHECKs reveal the hidden problem
and make it safe for HLocals to be removed in the future.

Change-Id: I486eb0f3987e20c50cbec0fb06332229e07fbae9

8 years agoLower JIT thread priority
Andreas Gampe [Tue, 1 Mar 2016 04:49:38 +0000 (20:49 -0800)]
Lower JIT thread priority

Modify the JIT thread to run at a lower priority in order to allow
UI-critical threads to get enough CPU time.

Bug: 27417985

(cherry picked from commit e701f088f8fe3a2c1f16e2895402f26283f4bcc7)

Change-Id: I5b962a7970ae81dac9e01a8011128c538cd78e40

8 years agoART: Allow unwinding unattached threads
Andreas Gampe [Tue, 1 Mar 2016 22:38:37 +0000 (14:38 -0800)]
ART: Allow unwinding unattached threads

Partial revert of commit ed8b723c5f3989d2593ec21c65c96d6d8bf25579.

Make it (constexpr) configurable whether we allow unwinding native
stacks of unattached threads.

Change-Id: Ibb1fd0956fb796583f78ec9c3a74521f6fbe96d9

8 years agoMerge "Revert "Use the interpreter as a heartbeat for the JIT.""
Nicolas Geoffray [Tue, 1 Mar 2016 22:18:18 +0000 (22:18 +0000)]
Merge "Revert "Use the interpreter as a heartbeat for the JIT.""

8 years agoRevert "Use the interpreter as a heartbeat for the JIT."
Nicolas Geoffray [Tue, 1 Mar 2016 22:18:02 +0000 (22:18 +0000)]
Revert "Use the interpreter as a heartbeat for the JIT."

Hits a DCHECK testing libcore.
    art F 11973 12675 art/runtime/jit/jit_code_cache.cc:644] Check failed: it.second->GetProfilingInfo(sizeof(void*)) != nullptr

Bug: 27398183
Bug: 23128949
Bug: 26846185

This reverts commit 7273a5d045d3ceb3ff011ad65765356b69b155e8.

Change-Id: I6614a82e775ea71aa16f041313f67546db41eac8

8 years agoMerge "Revert "Fix bogus interaction between code cache and instrumentation.""
Nicolas Geoffray [Tue, 1 Mar 2016 22:16:55 +0000 (22:16 +0000)]
Merge "Revert "Fix bogus interaction between code cache and instrumentation.""

8 years agoRevert "Fix bogus interaction between code cache and instrumentation."
Nicolas Geoffray [Tue, 1 Mar 2016 22:16:35 +0000 (22:16 +0000)]
Revert "Fix bogus interaction between code cache and instrumentation."

hits a DCHECK when testing libcore:
    art F 11973 12675 art/runtime/jit/jit_code_cache.cc:644] Check failed: it.second->GetProfilingInfo(sizeof(void*)) != nullptr

This reverts commit e9924b7d4fcafe7261233d2c16ebb73d7bb5e8e8.

Change-Id: I37d05991b9506a53a7c76738a7e4a6def1010958

8 years agoMerge "Standby list for dyn bce in potentially infinite loops."
Aart Bik [Tue, 1 Mar 2016 22:10:46 +0000 (22:10 +0000)]
Merge "Standby list for dyn bce in potentially infinite loops."

8 years agoStandby list for dyn bce in potentially infinite loops.
Aart Bik [Tue, 1 Mar 2016 18:39:25 +0000 (10:39 -0800)]
Standby list for dyn bce in potentially infinite loops.

Rationale:
The old code relied on "luck" to revisit basic blocks
after dynamic bce and incorporate all bounds checks
in potentially infinite loops that were "made" finite.
Now that revisiting has been removed completely, keeping
a standby list ensures all candidates are considered.

Change-Id: Ida3cf63be1307be6c2b0258d3e64b163f12be235

8 years agoMerge "Fix bogus interaction between code cache and instrumentation."
Nicolas Geoffray [Tue, 1 Mar 2016 18:51:27 +0000 (18:51 +0000)]
Merge "Fix bogus interaction between code cache and instrumentation."

8 years agoFix bogus interaction between code cache and instrumentation.
Nicolas Geoffray [Tue, 1 Mar 2016 18:43:46 +0000 (18:43 +0000)]
Fix bogus interaction between code cache and instrumentation.

Change-Id: Icc314089ec1a05248b8994476d478a543e629e4d

8 years agoMerge "Revert "Revert "Fast ART x86_64 interpretator"""
Bill Buzbee [Tue, 1 Mar 2016 18:19:42 +0000 (18:19 +0000)]
Merge "Revert "Revert "Fast ART x86_64 interpretator"""