OSDN Git Service
Nicolas Geoffray [Mon, 13 Feb 2017 20:55:27 +0000 (20:55 +0000)]
Disable libcore tests for now.
bug:
35308152
Test: run-libcore-tests.sh
Change-Id: I77f9a516d6dd99d332a214e838848cdc3fdf359a
Nicolas Geoffray [Fri, 3 Feb 2017 10:36:08 +0000 (10:36 +0000)]
Merge "Revert "Inline across dex files for JIT.""
Nicolas Geoffray [Fri, 3 Feb 2017 10:35:47 +0000 (10:35 +0000)]
Revert "Inline across dex files for JIT."
Broke hikey build.
bug:
30933338
This reverts commit
f290c01c61f8a2979efa74ffcd2f54c5e426a3d0.
Change-Id: I3363d703c54d0f9b69197a29395cc08f60c8b2ac
Nicolas Geoffray [Fri, 3 Feb 2017 09:04:49 +0000 (09:04 +0000)]
Merge "Inline across dex files for JIT."
Nicolas Geoffray [Fri, 3 Feb 2017 08:58:55 +0000 (08:58 +0000)]
Merge "MIPS: Support kJitTableAddress kinds of string/class loads."
Treehugger Robot [Fri, 3 Feb 2017 01:30:48 +0000 (01:30 +0000)]
Merge "Ensure we don't attempt to compile obsolete methods."
Alex Light [Thu, 2 Feb 2017 23:09:54 +0000 (15:09 -0800)]
Ensure we don't attempt to compile obsolete methods.
We would run into issues if we tried to compile an obsolete method
since some of the information needed to do so is lost as we redefine
the declaring class. Since compiling these methods is unlikely to have
a major effect on the performance of the program we simply tell the
JIT not to bother with them.
Also update all places to use the new SetDontCompile helper.
Test: mma -j40 test-art-host
Test: stress --cpu 60 &; \
while ./test/run-test --host --jit --gcstress --64 942; do ; done
Change-Id: Ie70fee6f503818e7589571facf28ccc5e7ca79f8
Treehugger Robot [Thu, 2 Feb 2017 21:46:22 +0000 (21:46 +0000)]
Merge "ART: Add UnstartedRuntime support for Class.getSimpleName"
Treehugger Robot [Thu, 2 Feb 2017 21:02:50 +0000 (21:02 +0000)]
Merge "Ensure that all redefinition created dex file get on classpath"
Treehugger Robot [Thu, 2 Feb 2017 19:32:03 +0000 (19:32 +0000)]
Merge "Math.min and Math.max intrinsics for ARM"
Alex Light [Wed, 1 Feb 2017 23:35:34 +0000 (15:35 -0800)]
Ensure that all redefinition created dex file get on classpath
We were not adding some DexFiles to the ClassPath if there were
multiple classes from the same classloader being redefined at the same
time. We fixed this issue and made a test for it.
Test: mma -j40 test-art-host
Change-Id: I6e8961c8602367ebec5d5a948d71e58f3be2f6d7
Andreas Gampe [Thu, 2 Feb 2017 04:40:44 +0000 (20:40 -0800)]
ART: Add UnstartedRuntime support for Class.getSimpleName
This requires two native methods, isAnonymousClass and
getDeclaringClass.
Add tests.
Bug:
34890992
Test: m
Test: m test-art-host
Test: Device boots
Change-Id: Ib3fca2a6bb6e367ef202ff864719cab979d6c793
Treehugger Robot [Thu, 2 Feb 2017 18:46:03 +0000 (18:46 +0000)]
Merge "Fix creating self-recursive obsolete methods."
Roland Levillain [Thu, 2 Feb 2017 18:28:41 +0000 (18:28 +0000)]
Merge "Print ARM and ARM64 registers in art::UContext::Dump."
Mathieu Chartier [Thu, 2 Feb 2017 17:51:04 +0000 (17:51 +0000)]
Merge "Various improvements to stack walking speed"
Mathieu Chartier [Wed, 1 Feb 2017 21:10:06 +0000 (13:10 -0800)]
Various improvements to stack walking speed
Make BitMemoryRegion constructor inlined, remove read barrier
for IsProxyMethod.
Around 15% speedup for pmd benchmark, maybe more for CC.
Test: test-art-host
Change-Id: Ib4392649e041406e538cc944c26c69f68d388fb4
Mathieu Chartier [Thu, 2 Feb 2017 17:47:18 +0000 (17:47 +0000)]
Merge "Faster stack trace creation"
Mathieu Chartier [Thu, 2 Feb 2017 17:43:23 +0000 (17:43 +0000)]
Merge "Use dex cache for GetResolvedMethod"
Treehugger Robot [Thu, 2 Feb 2017 17:38:57 +0000 (17:38 +0000)]
Merge "ART: Fix buildbot-build.sh"
Bill Buzbee [Thu, 2 Feb 2017 17:08:16 +0000 (17:08 +0000)]
Merge "ART: Reduce overhead of mterp OSR checking"
xueliang.zhong [Mon, 28 Mar 2016 15:44:32 +0000 (16:44 +0100)]
Math.min and Math.max intrinsics for ARM
This patch implements min/max intrinsics for:
* Long
* Float
* Double
Test: m test-art-host
Test: m test-art-target
Test: 082-inline-execute
Change-Id: I2dfab8ab606f3d01fba712f9014d2e0617449d74
Nicolas Geoffray [Fri, 27 Jan 2017 23:09:22 +0000 (23:09 +0000)]
Inline across dex files for JIT.
bug:
30933338
test: ART_TEST_JIT=true test-art-host test-art-target
Change-Id: I4ac708d70d90c2db4139d99a75bf4665a810c206
Treehugger Robot [Thu, 2 Feb 2017 15:40:31 +0000 (15:40 +0000)]
Merge "Blacklist another 96* test for no-image."
Treehugger Robot [Thu, 2 Feb 2017 13:30:18 +0000 (13:30 +0000)]
Merge "MIPS: Correct instruction alignment."
Nicolas Geoffray [Thu, 2 Feb 2017 11:50:29 +0000 (11:50 +0000)]
Blacklist another 96* test for no-image.
Test: test-art-host
Change-Id: I16e3a0a17ca6193a68932c78f67e0d788684e7ef
Treehugger Robot [Thu, 2 Feb 2017 11:23:02 +0000 (11:23 +0000)]
Merge "AArch64: Add HInstruction scheduling support."
Nicolas Geoffray [Thu, 2 Feb 2017 08:59:08 +0000 (08:59 +0000)]
Merge "Fix perf-inject jit profiling for osr method."
Andreas Gampe [Thu, 2 Feb 2017 06:07:45 +0000 (22:07 -0800)]
ART: Fix buildbot-build.sh
Fix infinite loop for unrecognized options.
Test: art/tools/buildbot-build.sh --host
Test: art/tools/buildbot-build.sh --mode=host
Change-Id: I9f3b53021d83ddef2dca89b414065b9ea0bfafbf
Treehugger Robot [Thu, 2 Feb 2017 03:51:38 +0000 (03:51 +0000)]
Merge "Fix address space conflict with asan in 32-bit."
Alexey Frunze [Thu, 2 Feb 2017 00:25:37 +0000 (16:25 -0800)]
MIPS: Correct instruction alignment.
Test: booted MIPS32R2 in QEMU
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Change-Id: Iff61353bc9e787e65f3f17d8938d4b5561d2a603
Treehugger Robot [Thu, 2 Feb 2017 01:59:37 +0000 (01:59 +0000)]
Merge "Separate art::Exec from utils"
Hiroshi Yamauchi [Wed, 1 Feb 2017 18:58:17 +0000 (10:58 -0800)]
Fix address space conflict with asan in 32-bit.
Asan reserves 0x04000000 - 0x20000000 in 32-bit.
Bug:
34606909
Test: marlin-userdebug asan coverage build boots.
Test: test-art-host
Change-Id: I3ee9cd290cd02de02e7d6c79b854479a985549c3
Mathieu Chartier [Wed, 1 Feb 2017 23:50:54 +0000 (15:50 -0800)]
Use dex cache for GetResolvedMethod
Using the dex cache is faster than going through the class linker.
This reverts to behavior from before aog/321573.
Speeds up pmd benchmark by ~50%.
Test: test-art-host
Change-Id: I58403aec03e2b7e7a3d3e108319cfb4c75a680cb
Mathieu Chartier [Wed, 1 Feb 2017 19:03:50 +0000 (11:03 -0800)]
Faster stack trace creation
Cache stack frames from the counting visitor to avoid needing to
walk the stack twice in the common case.
Speeds up pmd benchark by 20%.
Test: test-art-host
Change-Id: I81e4e55280d9c1ccf1937a7ea12abff75e9abb94
David Sehr [Wed, 1 Feb 2017 23:09:58 +0000 (15:09 -0800)]
Separate art::Exec from utils
The rest of utils.cc does not depend on art::Runtime. This separates
the part dependent on that class, so that including utils.cc in the
build does not require the entire Runtime. Another preparatory cleanup
to getting tools to build on Windows.
Bug:
22322814
Test: test-art
Change-Id: I194ff363fc2ab87e5311ecea6973a2d0fad2621d
Alex Light [Mon, 30 Jan 2017 22:57:11 +0000 (14:57 -0800)]
Fix creating self-recursive obsolete methods.
We were using recursive loading of the current art method which was
making us miss obsolete methods in some cases.
We could also end up checking the wrong method when walking the stack.
We also add tests for recursive obsolete methods in general.
Bug:
34815470
Test: mma -j40 test-art-host
Test: ART_TEST_JIT=true mma -j40 test-art-host
Change-Id: I522fd4cac4e3f9d35d03b128bad6d6971cfe6c4a
Alexey Frunze [Tue, 31 Jan 2017 03:28:14 +0000 (19:28 -0800)]
MIPS: Support kJitTableAddress kinds of string/class loads.
Also remove a few stale comments.
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=false
ART_TEST_INTERPRETER=false ART_TEST_JIT=true
test-art-target-run-test"
Test: booted MIPS32R2 in QEMU
Change-Id: I8914b8e6594e030f8137e7fface1ae20b6d6b971
Mathieu Chartier [Wed, 1 Feb 2017 22:53:59 +0000 (22:53 +0000)]
Merge "Deduplicate register masks"
Aart Bik [Wed, 1 Feb 2017 21:55:32 +0000 (21:55 +0000)]
Merge "Added few more SIMD extensions for x86/x86_64 (SSE)."
Stephen Hines [Wed, 1 Feb 2017 21:25:01 +0000 (21:25 +0000)]
Merge "Revert "Revert "Ignore warning for instantiation after specialization."""
Mathieu Chartier [Tue, 31 Jan 2017 22:25:16 +0000 (14:25 -0800)]
Deduplicate register masks
Data is commonly shared between different stack maps. The register
masks are stored after the stack masks.
Oat size for a large app:
96722288 ->
94485872 (-2.31%)
Average oat size reduction according to golem -3.193%.
Bug:
34621054
Test: test-art-host
Change-Id: I5eacf668992e866d11ddba0c01675038a16cdfb4
Treehugger Robot [Wed, 1 Feb 2017 19:48:54 +0000 (19:48 +0000)]
Merge "Fix flaky jit-gcstress tests 93{4,5,8}."
Alex Light [Wed, 1 Feb 2017 17:41:26 +0000 (09:41 -0800)]
Fix flaky jit-gcstress tests 93{4,5,8}.
We were letting the jit and the main thread race on class definition.
If the 'leader' changes then we would end up with the test class
having an unexpected definition, causing the test to fail. We fixed
this by making sure all threads get the same definition regardless of
speed.
Bug:
34799243
Test: mma -j40 test-art-host
Test: stress --cpu 60 &; \
while ./test/run-test --host --jit --gcstress --64 934 ; do ; done
Test: stress --cpu 60 &; \
while ./test/run-test --host --jit --gcstress --64 935 ; do ; done
Test: stress --cpu 60 &; \
while ./test/run-test --host --jit --gcstress --64 938 ; do ; done
Change-Id: I0d6785b4c3c41db1d655cf1ff22be60809923a7a
buzbee [Wed, 1 Feb 2017 17:08:31 +0000 (09:08 -0800)]
ART: Reduce overhead of mterp OSR checking
Once mterp's branch profiling identifies a method hot enough
to try on-stack replacement, a request is made to the JIT to compile
the method for OSR. Mterp then enters a mode in which it checks
for completion of the compilation in order to initiate the OSR.
Currently, this completion check happens on every branch. In
situations in which the JIT is backlogged and it takes awhile for the
compilation to complete, the overhead of doing these checks is noticable.
This change moves from a "check on every branch" model to a "check
on every Nth branch" model. We start with N=100, which should still
yield responsive OSR but dramatically reduce the checking overhead.
Bug:
32090348
Test: m test-art-host
Test: m test-art-target (Nexus 5x)
Change-Id: I97442723397bb242163dc18bd4444977bcd469fa
Vladimir Marko [Wed, 1 Feb 2017 15:43:05 +0000 (15:43 +0000)]
Merge "Revert "Hash-based dex cache type array.""
Vladimir Marko [Wed, 1 Feb 2017 14:09:13 +0000 (14:09 +0000)]
Revert "Hash-based dex cache type array."
Reverting to work around some programs crashing with
Check failed: handle_scope_iface.Get() != nullptr.
though the reason for the failure not yet understood.
Test: m test-art-host
Bug:
34839984
Bug:
30627598
Bug:
34659969
Bug:
30419309
This reverts commit
ec7862283dd49f5a58d0ac45960ce27c2f7671b8.
Change-Id: Ifded663633082f1e59e5b6ff2e026dc559bd6b82
Nicolas Geoffray [Wed, 1 Feb 2017 13:38:38 +0000 (13:38 +0000)]
Merge "Adjust test 626 after ARM64 parallel move scratch register change."
Richard Uhler [Wed, 1 Feb 2017 13:10:19 +0000 (13:10 +0000)]
Merge "Fix memory leak in oat file assistant test."
Richard Uhler [Wed, 1 Feb 2017 12:54:23 +0000 (12:54 +0000)]
Fix memory leak in oat file assistant test.
Test: oat_file_assistant_test
Bug:
34339100
Change-Id: I147cb84a8448ce6b8bec3e6e21603eb1dd45e409
Roland Levillain [Tue, 31 Jan 2017 17:36:07 +0000 (17:36 +0000)]
Print ARM and ARM64 registers in art::UContext::Dump.
Test: Observe device logcat when (out-of-/system) dalvikvm crashes
Bug:
32466479
Change-Id: Ic360dd3f742fe253d2ac1719706eef27e6aa5a25
Roland Levillain [Wed, 1 Feb 2017 11:10:23 +0000 (11:10 +0000)]
Adjust test 626 after ARM64 parallel move scratch register change.
Adjust test 626-checker-arm64-scratch-register after
changing the scratch register allocation strategy in
art::arm64::CodeGeneratorARM64::MoveLocation
(see https://android-review.googlesource.com/#/c/329021/).
Test: make test-art-target-run-test-626-checker-arm64-scratch-register (on ARM64)
Bug:
34760542
Change-Id: I0c41dce7bd8902e28e0290640c7ef00ef90c9b69
Richard Uhler [Wed, 1 Feb 2017 09:10:27 +0000 (09:10 +0000)]
Merge changes I1ab9ec9f,I0fe01760
* changes:
Revert^2 "OatFileAssistant: look at vdex file for IsDexOptNeeded"
Check vdex file is valid in VdexFile::Open.
Aart Bik [Wed, 1 Feb 2017 00:11:24 +0000 (16:11 -0800)]
Added few more SIMD extensions for x86/x86_64 (SSE).
Rationale:
Prototype ART vectorizer needs way to set invariant vectors.
Test: assembler_x86[_64]_test
Bug:
34083438
Change-Id: I5ab2ad77b8f9b64b46cc8635ad926e54787508a2
Mathieu Chartier [Tue, 31 Jan 2017 22:24:44 +0000 (22:24 +0000)]
Merge "Deduplicate stack masks"
Treehugger Robot [Tue, 31 Jan 2017 20:18:59 +0000 (20:18 +0000)]
Merge "Force stack dump to diagnose empty checkpoint timeout."
Hiroshi Yamauchi [Tue, 31 Jan 2017 18:15:08 +0000 (10:15 -0800)]
Force stack dump to diagnose empty checkpoint timeout.
Bug:
33006388
Bug:
12687968
Test: test-art-host
Change-Id: Ida149c98eeb05ca4ad8d0f7ef49228c9b45a6312
Treehugger Robot [Tue, 31 Jan 2017 18:16:48 +0000 (18:16 +0000)]
Merge "ART: Fix GC pause reporting"
David Srbecky [Fri, 18 Mar 2016 02:15:09 +0000 (02:15 +0000)]
Deduplicate stack masks
The stack masks repeat often enough so that it is worth deduplicating
them.
Oat size for a large app:
98143600 ->
96722288 (-1.44%)
Bug:
34621054
Test: test-art-host
Change-Id: If73d51e46066357049d5be2e406ae9a32b7ff1f4
Alex Light [Tue, 31 Jan 2017 18:02:05 +0000 (18:02 +0000)]
Merge "Enable redefining Bootclasspath classes"
Aart Bik [Tue, 31 Jan 2017 17:46:01 +0000 (17:46 +0000)]
Merge "Fix bug in geometric last value (found with fuzz testing)"
Nicolas Geoffray [Tue, 31 Jan 2017 17:29:11 +0000 (17:29 +0000)]
Merge "Increase timeout for no-image runs."
Treehugger Robot [Tue, 31 Jan 2017 16:22:48 +0000 (16:22 +0000)]
Merge "Fix macOS build in ART's runtime/runtime_common.{h,cc}"
Roland Levillain [Tue, 31 Jan 2017 15:52:29 +0000 (15:52 +0000)]
Merge "Handle cycles with double stack slots in ARM64 parallel moves."
Richard Uhler [Tue, 31 Jan 2017 14:02:34 +0000 (14:02 +0000)]
Revert^2 "OatFileAssistant: look at vdex file for IsDexOptNeeded"
This reverts commit
ba037b121edc7259b3fa5607e6730402ce2ca61e.
Test: m test-art-host, with new oat file assistant test added.
Bug:
34339100
Change-Id: I1ab9ec9f6ec299be7b8144612b71e6054d84412c
Roland Levillain [Tue, 31 Jan 2017 14:33:16 +0000 (14:33 +0000)]
Fix macOS build in ART's runtime/runtime_common.{h,cc}
Test: mmma art (on macOS)
Bug:
32466479
Change-Id: I9996c6a495d2465a4b00affd2ef19102c815a58f
Nicolas Geoffray [Tue, 31 Jan 2017 09:13:52 +0000 (09:13 +0000)]
Increase timeout for no-image runs.
So that it has some more time to generate the boot image.
test: ART_TEST_RUN_TEST_NO_IMAGE test-art-host
Change-Id: Idf88763a760df693a44578236046e66959e4c6e5
Richard Uhler [Tue, 31 Jan 2017 11:27:37 +0000 (11:27 +0000)]
Check vdex file is valid in VdexFile::Open.
Test: m test-art-host, including new vdex_file_test.
Bug:
34339100
Change-Id: I0fe01760779f3876d6790a5443785a4f7289a717
Roland Levillain [Tue, 31 Jan 2017 13:30:03 +0000 (13:30 +0000)]
Merge "Optionally dump ART crash information to logcat when running on Android."
Narayan Kamath [Tue, 31 Jan 2017 13:25:21 +0000 (13:25 +0000)]
Merge "MethodHandles: Tests for additional combiners."
Treehugger Robot [Tue, 31 Jan 2017 12:36:50 +0000 (12:36 +0000)]
Merge "Implement Math.rint Intrinsic for ARM32."
xueliang.zhong [Wed, 20 Apr 2016 17:44:56 +0000 (18:44 +0100)]
Implement Math.rint Intrinsic for ARM32.
Test: m test-art-host
Test: m test-art-target
Test: 082-inline-execute
Change-Id: If73bcea5f9fb24942c7390c6ccbcfb012f8951c7
Andreas Gampe [Mon, 30 Jan 2017 21:15:26 +0000 (13:15 -0800)]
ART: Fix GC pause reporting
CC doesn't use ScopedPause normally, but that was hidden by it using
it for a debug check. Add a parameter for reporting.
Add explicit marking of the pause in CC. Currently this will conservatively
approximate pause times, as the actual pause is hidden inside ThreadList.
Clean up run-test 908.
Bug:
31684633
Test: m ART_TEST_RUN_TEST_NDEBUG=true test-art-host-run-test-908-gc-start-finish
Change-Id: Ie48af52e1225783b06e2e088c5adf3ef42fb5f64
Alex Light [Fri, 27 Jan 2017 17:00:15 +0000 (09:00 -0800)]
Enable redefining Bootclasspath classes
Test: mma -j40 test-art-host
Change-Id: I84fff0b428fbaeaba003269614310fdab576bcd6
Treehugger Robot [Tue, 31 Jan 2017 00:01:38 +0000 (00:01 +0000)]
Merge "Make wording of comment more precise."
Aart Bik [Mon, 30 Jan 2017 22:37:12 +0000 (14:37 -0800)]
Fix bug in geometric last value (found with fuzz testing)
Rationale:
When power computation overflows, div should use 0 while mul should
use truncated version. Both cases were incorrectly using the latter.
Test: test-art-host
Bug:
34779592
Change-Id: I9eb8e1280c58b09d57886128f4df4541c143afaa
Treehugger Robot [Mon, 30 Jan 2017 22:36:33 +0000 (22:36 +0000)]
Merge "MIPS32R6: Improve PC-relative string/class loads and invokes."
Alex Light [Mon, 30 Jan 2017 22:15:54 +0000 (14:15 -0800)]
Make wording of comment more precise.
Test: mma -j40 test-art-host
Change-Id: I2501d183669d2981f230876366e472acbe02cfb4
Treehugger Robot [Mon, 30 Jan 2017 22:02:04 +0000 (22:02 +0000)]
Merge "Remove Deoptimization code from class transformation."
Mathieu Chartier [Mon, 30 Jan 2017 21:42:32 +0000 (21:42 +0000)]
Merge "Add to time to suspend in FlipThreadRoots to histogram"
Nicolas Geoffray [Mon, 30 Jan 2017 20:56:11 +0000 (20:56 +0000)]
Merge "Revert "Revert "Make --debuggable rely on JIT code."""
Nicolas Geoffray [Mon, 30 Jan 2017 20:55:17 +0000 (20:55 +0000)]
Merge "Blacklist test now that debuggable means JIT."
Nicolas Geoffray [Mon, 30 Jan 2017 20:54:45 +0000 (20:54 +0000)]
Revert "Revert "Make --debuggable rely on JIT code.""
Fixed by https://android-review.googlesource.com/#/c/330165/
This reverts commit
81356645157af44152c7b7db383596b5cf3479b5.
Change-Id: Ifb74e1cc90ab6dea621f7f54a00b540d6ccd0cf6
Treehugger Robot [Mon, 30 Jan 2017 20:22:01 +0000 (20:22 +0000)]
Merge "Print to System.err in test 909 to avoid output races."
Vladimir Marko [Mon, 30 Jan 2017 20:20:19 +0000 (20:20 +0000)]
Merge "Revert "Make --debuggable rely on JIT code.""
Vladimir Marko [Mon, 30 Jan 2017 20:18:02 +0000 (20:18 +0000)]
Revert "Make --debuggable rely on JIT code."
Breaks 137-cfi with ART_TEST_RUN_TEST_DEBUGGABLE=true
This reverts commit
a0619e25aacf8b8074132f4951f75fdbcfd42925.
bug:
28769520
Change-Id: Ifd7b8fc7c9b72c0a523fd57c4b1b80edd3547caa
Alex Light [Fri, 27 Jan 2017 18:26:49 +0000 (10:26 -0800)]
Remove Deoptimization code from class transformation.
Since we removed the current_method from the compiled code we don't
need to deoptimize all frames anymore.
This is a partial revert of commit
dba614810.
Bug:
32369913
Bug:
33630159
Test: ART_TEST_TRACE=true \
ART_TEST_JIT=true \
ART_TEST_INTERPRETER=true mma -j40 test-art-host
Change-Id: I44a6dd89e1d96bd8c82c2c24a2f42fef023a80be
Treehugger Robot [Mon, 30 Jan 2017 19:04:14 +0000 (19:04 +0000)]
Merge "Merge layout-speed compiler filter into speed-profile."
Vladimir Marko [Mon, 30 Jan 2017 18:31:53 +0000 (18:31 +0000)]
Print to System.err in test 909 to avoid output races.
Throwable.printStackTrace() prints to System.err, so print
all other output to System.err as well to avoid races like
#################### info
# Tests jvmti plugin attaching during live phase.
#################### diffs
--- expected.txt 2017-01-13 18:22:13.
897224469 +0000
+++ output.txt 2017-01-30 17:51:21.
091550290 +0000
@@ -6,6 +6,6 @@
Goodbye!
Hello, world!
java.io.IOException: Process is not debuggable.
+Goodbye!
at dalvik.system.VMDebug.attachAgent(Native Method)
at Main.main(Main.java:27)
-Goodbye!
####################
Test: m test-art-host-run-test-909-attach-agent
Change-Id: I956bd24db056154b938568c156df80d4ff56ba11
Roland Levillain [Thu, 19 Jan 2017 20:04:27 +0000 (20:04 +0000)]
Optionally dump ART crash information to logcat when running on Android.
This logging feature does not use debuggerd. It is only
enabled when the environment variable ANDROID_ROOT is set
to something different than "/system".
Also, refactor runtime/runtime_android.cc and
runtime/runtime_linux.cc.
Test: Observe device logcat when dalvikvm crashes
Bug:
32466479
Change-Id: If59ce838fdb5b9bb6638b73fcd074b7065275c6c
Alexey Frunze [Wed, 4 Jan 2017 01:11:38 +0000 (17:11 -0800)]
MIPS32R6: Improve PC-relative string/class loads and invokes.
Use PC-relative addressing on MIPS32R6 instead of
HMipsDexCacheArraysBase and allow such PC-relative
addressing in presence of irreducible loops.
Also save a couple of instructions when handling
string and class loads from bss.
Test: test-art-host-gtest
Test: booted MIPS32R2 in QEMU
Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=true
ART_TEST_INTERPRETER=false ART_TEST_JIT=false
ART_TEST_PIC_TEST=true test-art-target-run-test"
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=true
ART_TEST_INTERPRETER=false ART_TEST_JIT=false
ART_TEST_PIC_TEST=true test-art-target-run-test32"
Change-Id: I5d0fcbf271541294a3d4479987d52e2aaff084d9
Nicolas Geoffray [Mon, 30 Jan 2017 17:00:07 +0000 (17:00 +0000)]
Blacklist test now that debuggable means JIT.
Change-Id: I658dea8e2b7327ad9631edfe62b45a0c7fcfc845
Nicolas Geoffray [Mon, 30 Jan 2017 15:09:44 +0000 (15:09 +0000)]
Merge "Make --debuggable rely on JIT code."
Treehugger Robot [Mon, 30 Jan 2017 14:51:41 +0000 (14:51 +0000)]
Merge "Add ART_TEST_RUN_TEST_IMAGE."
Roland Levillain [Fri, 27 Jan 2017 19:40:44 +0000 (19:40 +0000)]
Handle cycles with double stack slots in ARM64 parallel moves.
When acquiring a scratch register to emit a move between two
double stack slots, ask for a FP register first, to avoid
depleting the core scratch register pool, which is used in
vixl::aarch64::MacroAssembler::LoadStoreMacro when the
offset does not fit in the immediate field of the load
instruction.
Test: make test-art-target (on ARM64)
Bug:
34760542
Change-Id: Ie9b37d007ed6ec5886931a35dcb22a9aff73bbbe
Treehugger Robot [Mon, 30 Jan 2017 13:11:02 +0000 (13:11 +0000)]
Merge "MIPS: Refactor code for unresolved field entrypoint."
Vladimir Marko [Mon, 30 Jan 2017 12:43:39 +0000 (12:43 +0000)]
Merge "Hash-based dex cache type array."
Nicolas Geoffray [Tue, 20 Dec 2016 13:57:43 +0000 (13:57 +0000)]
Make --debuggable rely on JIT code.
Removes -Xfully-deoptable in the process, which was added as a
temporary workaround until this CL.
Partial revert of https://android-review.googlesource.com/#/c/302232/
Makes things consistent with existing infrastructure:
- Parse the --debuggable from the compiler options, just like
--compiler-filter.
- Add DEBUG_JAVA_DEBUGGABLE, passed by the zygote, for debuggable apps.
- Java debuggable now solely relies on JIT for simplicity.
- Debugging under userdebug for non-java-debuggable apps is still
best effort.
Test: test-art-host, jdwp
bug:
28769520
Change-Id: Id0593aacd85b9780da97f20914a50943957c858f
Nicolas Geoffray [Mon, 30 Jan 2017 12:35:50 +0000 (12:35 +0000)]
Add ART_TEST_RUN_TEST_IMAGE.
To prepare disabling this run on the no-image bot config.
Change-Id: Iebd51761ebde42d07beb7ecce3b84e738d03afe3
Vladimir Marko [Tue, 20 Dec 2016 16:24:13 +0000 (16:24 +0000)]
Hash-based dex cache type array.
Test: m test-art-host (Interpreter, Optimizing, JIT)
Test: m test-art-target on Nexus 6P (Interpreter, Optimizing, JIT)
Test: Nexus 6P boots
Test: m valgrind-test-art-host
Bug:
30627598
Bug:
34659969
Bug:
30419309
Change-Id: Ic00eda89e58088a3573fc9ec0ad04c0e69e161d1
Nicolas Geoffray [Mon, 30 Jan 2017 09:05:00 +0000 (09:05 +0000)]
Merge "Make no-relocate the default."