OSDN Git Service

android-x86/art.git
8 years agoMerge "Revert "Suppress ArrayDequeTest#testForEachRemaining temporarily.""
Narayan Kamath [Tue, 8 Mar 2016 13:50:37 +0000 (13:50 +0000)]
Merge "Revert "Suppress ArrayDequeTest#testForEachRemaining temporarily.""

8 years agoRevert "Suppress ArrayDequeTest#testForEachRemaining temporarily."
Narayan Kamath [Mon, 7 Mar 2016 10:57:34 +0000 (10:57 +0000)]
Revert "Suppress ArrayDequeTest#testForEachRemaining temporarily."

This reverts commit 98c38e34357a73c46ad7a735dd23da0ba29a2963.

Fixed by commit 3de87b847fa94cce9beaf5b225404c1bc7ec475f.

Change-Id: If38f1e67dd8504055236bb8a9703d8c2eb61d16c

8 years agoMerge "Re-enable test that was causing TimeoutExceptions on ARM64."
Roland Levillain [Tue, 8 Mar 2016 11:42:24 +0000 (11:42 +0000)]
Merge "Re-enable test that was causing TimeoutExceptions on ARM64."

8 years agoRe-enable test that was causing TimeoutExceptions on ARM64.
Roland Levillain [Tue, 8 Mar 2016 11:22:02 +0000 (11:22 +0000)]
Re-enable test that was causing TimeoutExceptions on ARM64.

The libcore test libcore.java.lang.OldSystemTest#test_gc has
been failing with a java.util.concurrent.TimeoutException on
ART Builbot's ARM64 concurrent collector configuration.  No
longer ignore this failure to see whether recent changes
(namely https://android-review.googlesource.com/#/c/204125)
fixed the issue.

Bug: 26155567
Change-Id: I5cd3c3956cfd510bab1cb9d3b9479560f9703e6d

8 years agoMerge "Fix lock order violation"
Mathieu Chartier [Tue, 8 Mar 2016 02:47:28 +0000 (02:47 +0000)]
Merge "Fix lock order violation"

8 years agoFix lock order violation
Mathieu Chartier [Tue, 8 Mar 2016 01:41:39 +0000 (17:41 -0800)]
Fix lock order violation

Release class linker lock before acquiring heap bitmap lock.

Bug: 27493510

(cherry picked from commit 064e9d401c49d3789b5deeeb6b423a4f551e4206)

Change-Id: I7809e0f591513b85d295d43e639152ce92984f9c

8 years agoMerge "Try to reenable some libcore tests with CC."
Hiroshi Yamauchi [Tue, 8 Mar 2016 00:52:55 +0000 (00:52 +0000)]
Merge "Try to reenable some libcore tests with CC."

8 years agoTry to reenable some libcore tests with CC.
Hiroshi Yamauchi [Tue, 8 Mar 2016 00:46:23 +0000 (16:46 -0800)]
Try to reenable some libcore tests with CC.

CL 204125 may have fixed them.

Bug: 26711853
Change-Id: I8c8052520982f80d8466922f3de6d3805073ae26

8 years agoMerge "Unsafe: Recognize intrinsics for 1.8 java.util.concurrent With unit test."
Aart Bik [Mon, 7 Mar 2016 23:51:12 +0000 (23:51 +0000)]
Merge "Unsafe: Recognize intrinsics for 1.8 java.util.concurrent With unit test."

8 years agoMerge "Add systrace logging to ScopedCodeCacheWrite"
Mathieu Chartier [Mon, 7 Mar 2016 22:45:04 +0000 (22:45 +0000)]
Merge "Add systrace logging to ScopedCodeCacheWrite"

8 years agoAdd systrace logging to ScopedCodeCacheWrite
Mathieu Chartier [Mon, 7 Mar 2016 21:48:08 +0000 (13:48 -0800)]
Add systrace logging to ScopedCodeCacheWrite

Shows if we are taking a long time to mprotect.

Bug: 27502458

(cherry picked from commit 462cd2cfa8c5fbb6548419eb8f27b448a12aca11)

Change-Id: Ic0f24641f5856b13f3b949dcd53dc01ec952d171

8 years agoMerge "runtime: Add CAS and fences to sun.misc.Unsafe"
Igor Murashkin [Mon, 7 Mar 2016 22:37:43 +0000 (22:37 +0000)]
Merge "runtime: Add CAS and fences to sun.misc.Unsafe"

8 years agoUnsafe: Recognize intrinsics for 1.8 java.util.concurrent
Aart Bik [Fri, 4 Mar 2016 20:08:31 +0000 (12:08 -0800)]
Unsafe: Recognize intrinsics for 1.8 java.util.concurrent
With unit test.

Rationale:
Recognizing the 1.8 methods as intrinsics is the first step
towards providing efficient implementation on all architectures.
Where not implemented (everywhere for now), the methods fall back
to the JNI native or reference implementation.

NOTE: needs iam's CL first!

bug=26264765

Change-Id: Ife65e81689821a16cbcdd2bb2d35641c6de6aeb6

8 years agoMerge changes I70f61fe3,I00376b02
Hiroshi Yamauchi [Mon, 7 Mar 2016 22:25:09 +0000 (22:25 +0000)]
Merge changes I70f61fe3,I00376b02

* changes:
  Revert "ProfilingInfo roots should be visited by the declaring class."
  Revert "Query declaring class before querying IsNative."

8 years agoRevert "ProfilingInfo roots should be visited by the declaring class."
Hiroshi Yamauchi [Mon, 7 Mar 2016 21:56:33 +0000 (13:56 -0800)]
Revert "ProfilingInfo roots should be visited by the declaring class."

This reverts commit 9a3be989d0aee1a6998e33813c7f70906d27f89a.

Superceded by CL 206308.

Bug: 27435111

8 years agoRevert "Query declaring class before querying IsNative."
Hiroshi Yamauchi [Mon, 7 Mar 2016 21:55:31 +0000 (13:55 -0800)]
Revert "Query declaring class before querying IsNative."

This reverts commit 26329cd578efe9cd7e60c46fef1bfb549062a283.

Superceded by CL 206308.

Bug: 27435111

8 years agoMerge "Increase kDumpWaitTimeout 10x for target builds"
Mathieu Chartier [Mon, 7 Mar 2016 21:29:32 +0000 (21:29 +0000)]
Merge "Increase kDumpWaitTimeout 10x for target builds"

8 years agoMerge "Don't use ScopedObjectAccess in Heap::DumpSpaces"
Mathieu Chartier [Mon, 7 Mar 2016 21:29:15 +0000 (21:29 +0000)]
Merge "Don't use ScopedObjectAccess in Heap::DumpSpaces"

8 years agoIncrease kDumpWaitTimeout 10x for target builds
Mathieu Chartier [Mon, 7 Mar 2016 19:59:01 +0000 (11:59 -0800)]
Increase kDumpWaitTimeout 10x for target builds

New timeout is 100s, the old one was occasionally hit by overloaded
device. This caused a confusing crash in the barrier destructor
since not all the threads had went through the barrier yet.

Bug: 27334917

(cherry picked from commit 74bdab0b14c592053ff71654ab51a0f116114a42)

Change-Id: I24cf6eb6858ad93a47446aa6bbc18942a71b191e

8 years agoDon't use ScopedObjectAccess in Heap::DumpSpaces
Mathieu Chartier [Mon, 7 Mar 2016 18:25:04 +0000 (10:25 -0800)]
Don't use ScopedObjectAccess in Heap::DumpSpaces

ScopedObjectAccess does not work well if the mutator lock is
excusively held while in a suspend thread state. This caused
deadlocks and DCHECK failures.

Bug: 27493316

(cherry picked from commit 03d21bc5bed887243ff6ce3531179185ffd3532c)

Change-Id: I5d67f74fc7082761e45dc1d7778b0ea7fceaaf8f

8 years agoruntime: Add CAS and fences to sun.misc.Unsafe
Igor Murashkin [Fri, 19 Feb 2016 22:56:43 +0000 (14:56 -0800)]
runtime: Add CAS and fences to sun.misc.Unsafe

Bug: 26264765
Change-Id: I68b482e5f9a0a26419af5e58a8d67c8c8a8e01a9

8 years agoMerge "ART: Fix RegTypeCache::FromUnresolvedMerge()."
Vladimir Marko [Mon, 7 Mar 2016 17:50:17 +0000 (17:50 +0000)]
Merge "ART: Fix RegTypeCache::FromUnresolvedMerge()."

8 years agoMerge "Typo in comment in MIPS32 mterp."
Roland Levillain [Mon, 7 Mar 2016 16:50:27 +0000 (16:50 +0000)]
Merge "Typo in comment in MIPS32 mterp."

8 years agoMerge "ART: Enable JitProfiling for MIPS64 Mterp"
Bill Buzbee [Mon, 7 Mar 2016 15:59:30 +0000 (15:59 +0000)]
Merge "ART: Enable JitProfiling for MIPS64 Mterp"

8 years agoMerge "Add some debugging for zygote crash."
Nicolas Geoffray [Mon, 7 Mar 2016 15:52:48 +0000 (15:52 +0000)]
Merge "Add some debugging for zygote crash."

8 years agoAdd some debugging for zygote crash.
Nicolas Geoffray [Mon, 7 Mar 2016 15:44:08 +0000 (15:44 +0000)]
Add some debugging for zygote crash.

bug:27340451
Change-Id: I212567b18959ab4dc7f1dbde2e6d4ff60fe7bed2

8 years agoMerge "Workaround for broken 'ps' command on M."
Nicolas Geoffray [Mon, 7 Mar 2016 14:09:04 +0000 (14:09 +0000)]
Merge "Workaround for broken 'ps' command on M."

8 years agoMerge "Support multidex run-test with Jack"
Sebastien Hertz [Mon, 7 Mar 2016 13:57:09 +0000 (13:57 +0000)]
Merge "Support multidex run-test with Jack"

8 years agoWorkaround for broken 'ps' command on M.
Nicolas Geoffray [Mon, 7 Mar 2016 13:33:37 +0000 (13:33 +0000)]
Workaround for broken 'ps' command on M.

Change-Id: Ifabc6bb2b0e3780306e8a3ad45531c50c7627ed1

8 years agoART: Fix RegTypeCache::FromUnresolvedMerge().
Vladimir Marko [Mon, 7 Mar 2016 12:32:05 +0000 (12:32 +0000)]
ART: Fix RegTypeCache::FromUnresolvedMerge().

Do not assume that the BitVector memory is zero-initialized.

Also fix reg_type_test memory leaks reported by valgrind by
constructing ArenaStack and ScopedArenaAllocator in each
individual test.

Bug: 27500678
Change-Id: Ic6b2b6ebeab2c5c6e993a0232c5d4a0159aabea3

8 years agoMerge "Remove useless map in SwapAllocator"
Vladimir Marko [Mon, 7 Mar 2016 11:32:53 +0000 (11:32 +0000)]
Merge "Remove useless map in SwapAllocator"

8 years agoSupport multidex run-test with Jack
Sebastien Hertz [Thu, 3 Mar 2016 17:08:17 +0000 (18:08 +0100)]
Support multidex run-test with Jack

Updates default-build script to compile multidex run-tests with
Jack. Such test needs a 'multidex.jpp' file specifying how to
partition classes in the output dex files (mainly how to stick some
classes in the classes.dex file and others in a classes2.dex file).

Bug: 19467889
Change-Id: I2500967ba951218c5b03166b3586a576d6dc8749

8 years agoMerge "MIPS64: Implement isInfinite intrinsics."
Andreas Gampe [Sat, 5 Mar 2016 03:19:46 +0000 (03:19 +0000)]
Merge "MIPS64: Implement isInfinite intrinsics."

8 years agoMIPS64: Implement isInfinite intrinsics.
Chris Larsen [Tue, 16 Feb 2016 20:35:04 +0000 (12:35 -0800)]
MIPS64: Implement isInfinite intrinsics.

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

Change-Id: I8e94a9cc462e6b1cf99bb14b17c1ff009c9c29a4

8 years agoMerge "Add more systracing everywhere"
Mathieu Chartier [Sat, 5 Mar 2016 02:43:06 +0000 (02:43 +0000)]
Merge "Add more systracing everywhere"

8 years agoAdd more systracing everywhere
Mathieu Chartier [Fri, 4 Mar 2016 22:58:03 +0000 (14:58 -0800)]
Add more systracing everywhere

Added to:
JIT
DexFile functions
Oat file manager

Added helper ScopedTrace to prevent errors and reduce excess code.

Bug: 27502458

(cherry picked from commit dabdc0fe183d4684f3cf4d70cb09d318cff81b42)

Change-Id: Ifaeff8913d79eefc797380987d13cc00456266f8

8 years agoMerge "Remove no thread suspension assert in AddImageSpace"
Mathieu Chartier [Sat, 5 Mar 2016 02:12:37 +0000 (02:12 +0000)]
Merge "Remove no thread suspension assert in AddImageSpace"

8 years agoRemove no thread suspension assert in AddImageSpace
Mathieu Chartier [Sat, 5 Mar 2016 00:39:33 +0000 (16:39 -0800)]
Remove no thread suspension assert in AddImageSpace

Heap::VisitObjects may cause thread suspension for the CC case.

Change-Id: Ibd495690b87dc8731919e1b1164be834c9da02b2

8 years agoMerge "Use MarkIfNotInToSpace for SemiSpace::MarkObject"
Mathieu Chartier [Sat, 5 Mar 2016 01:01:35 +0000 (01:01 +0000)]
Merge "Use MarkIfNotInToSpace for SemiSpace::MarkObject"

8 years agoUse MarkIfNotInToSpace for SemiSpace::MarkObject
Mathieu Chartier [Fri, 4 Mar 2016 18:30:39 +0000 (10:30 -0800)]
Use MarkIfNotInToSpace for SemiSpace::MarkObject

SemiSpace::MarkObject is called from ModUnionScanImageRootVisitor
which. These roots may be visited multiple times by the GC. One
example is the allocation stack traces and a class visiting the same
ArtMethod twice.

Bug: 27435111
Change-Id: I721b8bcf7fe43f4c351d902c2f3422d3bb585295

8 years agoMerge "Only visit app image classes in class loader"
Mathieu Chartier [Fri, 4 Mar 2016 21:32:10 +0000 (21:32 +0000)]
Merge "Only visit app image classes in class loader"

8 years agoOnly visit app image classes in class loader
Mathieu Chartier [Thu, 3 Mar 2016 00:08:31 +0000 (16:08 -0800)]
Only visit app image classes in class loader

Only update dex cache arrays of added classes since the declaring
class is in image DCHECK fails for other classes in the class loader.

Also some cleanup to prevent app images leaving invalid state if
they get rejected.

Bug: 22858531
Bug: 27431418
Change-Id: Ib2a5692a1ad78b014a1bfc6b27fb1c12bc8565e6

8 years agoMerge "ART: Fix UTF test and monitor pool old chunks"
Andreas Gampe [Fri, 4 Mar 2016 17:23:44 +0000 (17:23 +0000)]
Merge "ART: Fix UTF test and monitor pool old chunks"

8 years agoMerge "Cache DexRegisterMaps when writing native debug info."
David Srbecky [Fri, 4 Mar 2016 17:13:51 +0000 (17:13 +0000)]
Merge "Cache DexRegisterMaps when writing native debug info."

8 years agoMerge "Query declaring class before querying IsNative."
Nicolas Geoffray [Fri, 4 Mar 2016 16:45:03 +0000 (16:45 +0000)]
Merge "Query declaring class before querying IsNative."

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 "ART: Update arm assembly to use current syntax"
Bill Buzbee [Fri, 4 Mar 2016 16:41:59 +0000 (16:41 +0000)]
Merge "ART: Update arm assembly to use current syntax"

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 agoART: Update arm assembly to use current syntax
buzbee [Fri, 4 Mar 2016 16:03:51 +0000 (08:03 -0800)]
ART: Update arm assembly to use current syntax

Some of the ancient mterp code uses old-style arm opcode names
which are supported by gas, but not by clang's integrated
assembler.

Partial fix for internal b/27473367

Change-Id: Ic6128b98dfbf30f252e7487f802e9dfbe0a42b6a

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 agoTypo in comment in MIPS32 mterp.
Roland Levillain [Fri, 4 Mar 2016 15:55:51 +0000 (15:55 +0000)]
Typo in comment in MIPS32 mterp.

Change-Id: I2a54b94a5a4451e085ecc575db1742a4478839a6

8 years agoCache DexRegisterMaps when writing native debug info.
David Srbecky [Fri, 4 Mar 2016 11:34:46 +0000 (11:34 +0000)]
Cache DexRegisterMaps when writing native debug info.

I might make the function more expensive in the future so I want
to make sure it gets called only the minimum number of times.

Change-Id: I1d09ecf1db7b54d28aaa11a152226d469f514fe7

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 agoART: Fix UTF test and monitor pool old chunks
Andreas Gampe [Fri, 4 Mar 2016 04:15:47 +0000 (20:15 -0800)]
ART: Fix UTF test and monitor pool old chunks

Zero-initialize buffers in utf_test. UTF conversion does not
append a zero terminator, but the test uses strlen to check the
byte count.

Move to unique_ptr for storing old monitor-pool chunk data to
fix a leak.

Bug: 27156726
Change-Id: I14424c6f98cf47beab6243f83a335bd6a682c638

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 agoART: Enable JitProfiling for MIPS64 Mterp
Alexey Frunze [Fri, 4 Mar 2016 01:50:48 +0000 (17:50 -0800)]
ART: Enable JitProfiling for MIPS64 Mterp

Change-Id: I46bdbfd706569ebbb1d1b08b9060ff01518d0f3a

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