OSDN Git Service
Mathieu Chartier [Thu, 26 Jan 2017 22:03:11 +0000 (14:03 -0800)]
Avoid read barriers for ArtMethod::GetDexFile
Shows up in pmd benchmark from Class::FindDeclaredDirectMethod and
Class::FindDeclaredVirtualMethod. There are still calls to
IsProxyMethod that could probably be eliminated.
ReadBarrier::Mark goes from 12.39% to 3.45% according to perf.
Test: test-art-host
Change-Id: I6a4f2fa2d68bf5f393f83b9b70e8d6fcc9dbdaa2
Hiroshi Yamauchi [Thu, 26 Jan 2017 18:50:14 +0000 (18:50 +0000)]
Merge "Avoid accessing the heap without mutator lock in Monitor::Lock."
Nicolas Geoffray [Thu, 26 Jan 2017 16:54:12 +0000 (16:54 +0000)]
Merge "Forgot stack alignment on x86."
Nicolas Geoffray [Thu, 26 Jan 2017 16:24:32 +0000 (16:24 +0000)]
Forgot stack alignment on x86.
test: ART_TEST_RUN_TEST_NO_RELOCATE=true m test-art-host test-art-target
Change-Id: I1996c0d85228e5cad7bee4387260821d9d209b11
Nicolas Geoffray [Thu, 26 Jan 2017 15:22:08 +0000 (15:22 +0000)]
Merge "Forgot this change from last commit."
Nicolas Geoffray [Thu, 26 Jan 2017 15:18:52 +0000 (15:18 +0000)]
Forgot this change from last commit.
Test: 529-checker-unresolved
Change-Id: I14b6a8d81a7a885cff36d3361f83d891e3ff9956
Treehugger Robot [Thu, 26 Jan 2017 13:38:14 +0000 (13:38 +0000)]
Merge "ARM: Update `ArmInstructionSetFeatures` to track ARMv8-A."
Nicolas Geoffray [Thu, 26 Jan 2017 12:35:06 +0000 (12:35 +0000)]
Merge "Refactor code for unresolved field entrypoint."
Nicolas Geoffray [Thu, 26 Jan 2017 11:57:51 +0000 (11:57 +0000)]
Merge "Also blacklist 934 and 935 for no-relocate."
Nicolas Geoffray [Thu, 26 Jan 2017 11:56:12 +0000 (11:56 +0000)]
Merge "Update vixl/arm32 backend after new allocation entrypoint change."
Nicolas Geoffray [Thu, 26 Jan 2017 11:55:31 +0000 (11:55 +0000)]
Also blacklist 934 and 935 for no-relocate.
test: test-art-host
Change-Id: I0e88ffffa25b5174eecfc4e0bfebf43811d33959
Nicolas Geoffray [Thu, 19 Jan 2017 14:22:26 +0000 (14:22 +0000)]
Refactor code for unresolved field entrypoint.
- Do macro magic to avoid source code duplication.
- Do not fetch the referrer from the assembly, but
from the C entrypoint instead.
Test: test-art-host test-art-target
Change-Id: Ib139c94bc8f74686640cad538ba75dc56fa00e1d
Nicolas Geoffray [Thu, 26 Jan 2017 10:13:11 +0000 (10:13 +0000)]
Update vixl/arm32 backend after new allocation entrypoint change.
Fix after https://android-review.googlesource.com/#/c/325419/
Spotted by artem.serov@linaro.org. Thanks!
test: test-art-target with vixl/arm32
Change-Id: I5fdb4836c80f98696b07a06f52919f33a6284fbc
Brian Carlstrom [Thu, 26 Jan 2017 08:05:34 +0000 (08:05 +0000)]
Merge "Revert "Disable optimization of Atomic::LoadJavaData for x86 targets.""
Brian Carlstrom [Thu, 26 Jan 2017 08:05:34 +0000 (08:05 +0000)]
Merge "Revert "Ignore warning for instantiation after specialization.""
Stephen Hines [Thu, 26 Jan 2017 07:59:47 +0000 (07:59 +0000)]
Revert "Disable optimization of Atomic::LoadJavaData for x86 targets."
This reverts commit
fbd5118c1c36900910cabe89e3a73d598160e629.
Reason for revert: <INSERT REASONING HERE>
Change-Id: If7aac5e7f4e5376167e896c40f8bf30287f81dd1
Stephen Hines [Thu, 26 Jan 2017 07:59:40 +0000 (07:59 +0000)]
Revert "Ignore warning for instantiation after specialization."
This reverts commit
445584d3d1f8e3a9a7d12eded3b2dce5f8691d8c.
Reason for revert: <INSERT REASONING HERE>
Change-Id: I911049f64c4e963cfa47fd8bc7f16ed14e25b057
Treehugger Robot [Thu, 26 Jan 2017 07:13:16 +0000 (07:13 +0000)]
Merge changes from topic 'clang-
3625443'
* changes:
Disable optimization of Atomic::LoadJavaData for x86 targets.
Ignore warning for instantiation after specialization.
Alex Light [Thu, 26 Jan 2017 03:48:24 +0000 (03:48 +0000)]
Merge "Temporarily disable tests 934 & 935 in fallback and interp_ac config"
Alex Light [Thu, 26 Jan 2017 03:43:02 +0000 (19:43 -0800)]
Temporarily disable tests 934 & 935 in fallback and interp_ac config
These should have been with the earlier disable but I missed them.
Test: build change
Change-Id: I491f14d5666fff30dbadcf9105a96748a4aaaf5e
Treehugger Robot [Thu, 26 Jan 2017 02:59:32 +0000 (02:59 +0000)]
Merge "Add capability checks to all functions."
Hiroshi Yamauchi [Thu, 26 Jan 2017 02:28:12 +0000 (18:28 -0800)]
Avoid accessing the heap without mutator lock in Monitor::Lock.
ScopedThreadStateTransition doesn't do annotations and we are
accidentally accessing the heap without holding the mutator lock in
Monitor::PrettyContentionInfo. Use ScopedThreadSuspension instead.
Bug:
34674595
Test: test-art-host
Change-Id: If3ec86429ff99405ab14b3588f192ab1c0472cc8
Treehugger Robot [Thu, 26 Jan 2017 02:09:26 +0000 (02:09 +0000)]
Merge "Make jvmti tests runnable on the RI again."
Alex Light [Wed, 25 Jan 2017 23:28:04 +0000 (15:28 -0800)]
Add capability checks to all functions.
Also ensure that we declare all capabilities we support.
Bug:
31684920
Bug:
31455788
Test: mma -j40 test-art-host
Change-Id: Ic3f251f451cf6dad9934109594652f23d228d0f4
Aart Bik [Wed, 25 Jan 2017 23:45:21 +0000 (23:45 +0000)]
Merge "Minor edits to make nightly reports."
Treehugger Robot [Wed, 25 Jan 2017 22:35:49 +0000 (22:35 +0000)]
Merge "[ART] Prepare profile streaming for framework to use."
Mathieu Chartier [Wed, 25 Jan 2017 21:27:29 +0000 (21:27 +0000)]
Merge "Refactor and optimize memory region bit functions"
Treehugger Robot [Wed, 25 Jan 2017 21:13:32 +0000 (21:13 +0000)]
Merge "ART: Remove experimental flags for plugins and agents"
Andreas Gampe [Wed, 25 Jan 2017 21:08:56 +0000 (21:08 +0000)]
Merge "Preserve verification invariant after compile-time verification."
Alex Light [Wed, 25 Jan 2017 21:02:12 +0000 (21:02 +0000)]
Merge "Temporarily disable tests 934 & 935 for interpreter and jit."
Alex Light [Wed, 25 Jan 2017 20:56:23 +0000 (12:56 -0800)]
Temporarily disable tests 934 & 935 for interpreter and jit.
These need some additional support from the ClassPreDefine event which
will be added shortly.
Test: mma -j40 test-art-host ART_TEST_INTERPRETER=true ART_TEST_JIT=true
Change-Id: Id60da22d96a9f6c9084fdf6bf810874284d5d2a8
Alex Light [Wed, 25 Jan 2017 19:41:41 +0000 (11:41 -0800)]
Make jvmti tests runnable on the RI again.
Test: ./test/run-test --host --jvm 932
Change-Id: Ia35c9e2b4f93884956993dc9c5e4d041344c9680
Andreas Gampe [Wed, 25 Jan 2017 18:03:08 +0000 (10:03 -0800)]
ART: Remove experimental flags for plugins and agents
Remove experimental flags guarding plugins and agents.
Partial revert of commit
7233c7e752c0d26387d143ee74420e9cd1f09390.
Partial revert of commit
185d134a3b43ab7529053e965917e0fa74bceba4.
Bug:
31455788
Test: m test-art-host
Change-Id: I11a19f24b88ced8da7a28e2cb7a2f602aab884a8
Mathieu Chartier [Wed, 25 Jan 2017 19:11:02 +0000 (11:11 -0800)]
Refactor and optimize memory region bit functions
Move optimized bit reading from FieldEncoding to MemoryRegion,
added optimized StoreBits to MemoryRegion.
Compilation of a large app on host:
Before:
Time -j1: 31.897s
2.00% art::MemoryRegion::StoreBits(unsigned long, unsigned int, unsigned long)
After:
Time -j1: 29.620s
0.39% art::MemoryRegion::StoreBits(unsigned long, unsigned int, unsigned long)
Bug:
34621054
Test: test-art-host
Change-Id: I0509613da83cc5741d5cfada3f8a8af503784e9e
Treehugger Robot [Wed, 25 Jan 2017 19:33:37 +0000 (19:33 +0000)]
Merge "Implement class-pre-define time redefinition."
Shukang Zhou [Wed, 25 Jan 2017 08:35:21 +0000 (00:35 -0800)]
[ART] Prepare profile streaming for framework to use.
Make it possible for framework's Java code to optionally
enable streaming output of profile.
Test: m -j48 ART_TEST_TRACE=true ART_TEST_TRACE_STREAM=true test-art-host
Change-Id: I70f6cf3b72c6cec2ac1f1f1e9c2b2c4727d72e8a
Alex Light [Tue, 24 Jan 2017 23:32:25 +0000 (15:32 -0800)]
Implement class-pre-define time redefinition.
This allows one to redefine classes as they are being loaded without
restriction as to the types of transformations that may be included.
For example one is allowed to add additional methods or fields to the
class being defined.
Bug:
31684920
Test: mma -j40 test-art-host
Change-Id: I671ee13444c05f28424e727fd80d9d46c78ca287
Nicolas Geoffray [Wed, 25 Jan 2017 16:18:54 +0000 (16:18 +0000)]
Preserve verification invariant after compile-time verification.
After the verification step of the compiler, all classes in the
dex file that are being compiled should be either erroneous,
verified, or verify at runtime.
vdex used to break that invariant by only setting the status of
verified classes.
bug:
34691602
bug:
34691854
test: 634-vdex-duplicate, which breaks for the newly added
EnsureVerifiedOrVerifyAtRuntime check.
Change-Id: I67bd57880ed3238525f36fde484e36ca535ae5d5
Narayan Kamath [Wed, 25 Jan 2017 15:03:18 +0000 (15:03 +0000)]
Merge "MethodHandles: Write tests for MethodHandle.asCollector."
Narayan Kamath [Tue, 24 Jan 2017 19:16:25 +0000 (19:16 +0000)]
MethodHandles: Write tests for MethodHandle.asCollector.
Tracks libcore change
0e8de7372de378e00c429dbf9d55526d433a7a21.
Test: make test-art-host
Change-Id: I1d7e33f1cc11104b7b015afd7d49a48f2f2c5312
Narayan Kamath [Wed, 25 Jan 2017 10:45:30 +0000 (10:45 +0000)]
Merge "MethodHandles: Support and tests for invokeWithArguments."
Vladimir Marko [Wed, 25 Jan 2017 10:42:02 +0000 (10:42 +0000)]
Merge "Rewrite retrieval of resolved classes."
Richard Uhler [Wed, 25 Jan 2017 08:47:45 +0000 (08:47 +0000)]
Merge "Revert "OatFileAssistant: look at vdex file for IsDexOptNeeded""
Treehugger Robot [Wed, 25 Jan 2017 02:19:08 +0000 (02:19 +0000)]
Merge "Disable test 154 for GC stress"
Treehugger Robot [Wed, 25 Jan 2017 00:58:31 +0000 (00:58 +0000)]
Merge "ART: Refactor TI events"
Mathieu Chartier [Tue, 24 Jan 2017 22:48:24 +0000 (14:48 -0800)]
Disable test 154 for GC stress
GC stress does too many GCs and may cause the test to fail.
Test: test-art-host -j32 ART_TEST_GC_STRESS=true ART_TEST_INTERPRETER=tru
Change-Id: I7a46d185b718a3faaa74dbc561506e4844b79032
Aart Bik [Tue, 24 Jan 2017 18:27:52 +0000 (10:27 -0800)]
Minor edits to make nightly reports.
Rationale:
bit more output that helps interpreting the nightly results;
also fixed a bit of bitrot in the dexfuzz runners.
Test: nightly fuzzer
Change-Id: I342968bd2b21e86539c4ec03b6a167c7844d2a7c
Andreas Gampe [Wed, 25 Jan 2017 00:16:27 +0000 (00:16 +0000)]
Revert "OatFileAssistant: look at vdex file for IsDexOptNeeded"
This reverts commit
402089a27b25a9d1112c49189eb83a567719188f.
Leads to crashes when vdex doesn't seem to contain dex files.
Bug:
34339100
Bug:
34685231
Change-Id: I57c3134892a190f792e196e6d7162285e74a64e4
Test: m test-art-host
Hiroshi Yamauchi [Tue, 24 Jan 2017 23:49:43 +0000 (23:49 +0000)]
Merge "Enable PRODUCT_ART_USE_READ_BARRIER by default."
Andreas Gampe [Tue, 24 Jan 2017 03:46:56 +0000 (19:46 -0800)]
ART: Refactor TI events
Refactor for type safety of event dispatch. Use template specialization
to ensure that only correct calls will work.
Bug:
31684920
Test: m test-art-host
Change-Id: Ifbb47447fb46dd6e799bc824a60df51b15b73618
Vladimir Marko [Tue, 24 Jan 2017 18:06:55 +0000 (18:06 +0000)]
Rewrite retrieval of resolved classes.
Use ClassLinker::VisitClasses() instead of walking over dex
cache type arrays. The old technique relies on the dex cache
holding references to all resolved classes, an assumption
that we're going to break soon.
Test: m test-art-host-run-test-595-profile-saving
Bug:
30627598
Change-Id: Icae71f53b5a33ff931d83aa8d44cc182889f26da
Calin Juravle [Tue, 24 Jan 2017 22:14:10 +0000 (22:14 +0000)]
Merge "Add dexoptanalyzer tool"
Mathieu Chartier [Tue, 24 Jan 2017 21:44:15 +0000 (21:44 +0000)]
Merge "Temporarily increase heap min and max free"
Treehugger Robot [Tue, 24 Jan 2017 21:00:39 +0000 (21:00 +0000)]
Merge "Fix typo in argument name."
Mathieu Chartier [Tue, 24 Jan 2017 17:40:56 +0000 (09:40 -0800)]
Temporarily increase heap min and max free
Make sure that GC doesn't run too often for TLAB ergonomics. Added a
regression test.
Bug:
34576638
Test: test-art-host
Change-Id: Ie07c7c470aaca044fea20b21cbe6bfe8667d082f
Calin Juravle [Sat, 14 Jan 2017 00:32:38 +0000 (16:32 -0800)]
Add dexoptanalyzer tool
dexoptanalyzer is a command line tool which analyzes whether or not a
given dex file needs to be dexopted. It is a wrapper around
OatFileAssistant::GetDexOptNeeded and its results have a mapping to
OatFileAssistant::DexOptNeeded.
This is needed for the management of secondary dex file. We need a way
to retrieve the DexOptNeeded status from installd outside system server.
We can't simply use the system server path (as we do for the main apks)
because system server can't access content writable by the apps.
Bug:
32871170
Test: m test-art-(host|target)
Change-Id: Ife1534560ca2658079d4a38a30bc8d94f35fe9c8
Hiroshi Yamauchi [Tue, 24 Jan 2017 19:06:47 +0000 (11:06 -0800)]
Enable PRODUCT_ART_USE_READ_BARRIER by default.
Bug:
34084559
Bug:
34576638
Test: Boot gce_x86_phone on master
Change-Id: I4ccedf52b71f305792998262bcee4110a05df9cc
Narayan Kamath [Tue, 24 Jan 2017 19:23:50 +0000 (19:23 +0000)]
Merge "run-test: ThreadSuspendTimeout only applies to ART."
Alex Light [Tue, 24 Jan 2017 19:15:20 +0000 (11:15 -0800)]
Fix typo in argument name.
Test: mma -j40 test-art-host
Change-Id: Ifff0e7b7ae64ce322562244a705fbe4e8f879689
Vladimir Marko [Tue, 24 Jan 2017 17:58:53 +0000 (17:58 +0000)]
Merge "Add class status for resolved erroneous classes."
Narayan Kamath [Tue, 24 Jan 2017 17:40:47 +0000 (17:40 +0000)]
run-test: ThreadSuspendTimeout only applies to ART.
Test: art/test/run-test --jvm works
Test: art/test/run-test --host works
Change-Id: I58f10b6c7b19df0827e108d2da89d873582bafbe
Narayan Kamath [Thu, 19 Jan 2017 20:42:23 +0000 (20:42 +0000)]
MethodHandles: Support and tests for invokeWithArguments.
Tracks libcore change
a8cf0bffdb9e9cf031efd0d3c8b5645d45963562.
Test: make test-art-host
Change-Id: I65fbf3a82b629585324c477bdce6dabd63ae408e
Richard Uhler [Tue, 24 Jan 2017 14:19:57 +0000 (14:19 +0000)]
Merge "Revert "Redesign implementation of RegisterNativeAllocation.""
Richard Uhler [Tue, 24 Jan 2017 14:17:05 +0000 (14:17 +0000)]
Revert "Redesign implementation of RegisterNativeAllocation."
This reverts commit
6bfc37d875b2556b3f1d95b00a785a09dc94ccb0.
Test failures in 004-NativeAllocations.
Bug:
29156652
Bug:
32576211
Change-Id: Ic54c67caf913024485a5c0621857d68a6fb710fa
Narayan Kamath [Tue, 24 Jan 2017 13:10:03 +0000 (13:10 +0000)]
Merge "MethodHandles: Tests for asSpreader / spreadInvoker."
Nicolas Geoffray [Tue, 24 Jan 2017 12:37:00 +0000 (12:37 +0000)]
Merge "Disable 912 for JIT."
Nicolas Geoffray [Tue, 24 Jan 2017 12:35:48 +0000 (12:35 +0000)]
Disable 912 for JIT.
bug:
34655682
test: test-art-host
Change-Id: I80e51d2866dfb47fc725877356168d2c27255bf5
Vladimir Marko [Fri, 20 Jan 2017 19:32:50 +0000 (19:32 +0000)]
Add class status for resolved erroneous classes.
Split the old ambiguous status mirror::Class::kStatusError
into kStatusErrorUnresolved and kStatusErrorResolved. Once
a class has been resolved, IsResolved() shall return true
even if the class later becomes erroneous. Allow returning
erroneous class from ClassLinker::EnsureResolved() if it has
been previously resolved. This allows consistent behavior
for retrieving classes, immune to multi-threaded races and
multi-dex weirdness. It also allows JVMTI to properly report
"prepared" (i.e. resolved) classes that are also erroneous.
The new behavior is consistent with the RI.
Add regression tests to 008-exceptions for inconsistent
behavior for multi-dex retrieval of erroneous resolved class
(wrapping or not wrapping the old exception based on which
dex file is used for lookup) and for a CHECK(IsResolved())
crash in ClassLinker::LoadSuperAndInterfaces() (without any
tests for similar checks that could have previously failed
only due to extremely unlikely race conditions; these should
now also be fixed).
Inconsistency still remains for class verification as shown
by the new exceptionsForSuperClassInitFailure() test in
008-exceptions, where interpreter and Optimizing still
cause different exceptions to be thrown.
Note: This is partially changing behavior implemented for
bug
28787733. Since we allow the class loader to retrieve an
erroneous resolved class, the ExceptionInInitializerError is
not thrown at all from VMClassLoader_findLoadedClass(), so
there is nothing to wrap in ClassNotFoundException.
Test: m test-art-host
Bug:
30627598
Bug:
28787733
Change-Id: I86cdca00f35a0d6221d2559e3026ac0428a3613c
Treehugger Robot [Tue, 24 Jan 2017 11:49:30 +0000 (11:49 +0000)]
Merge "Redesign implementation of RegisterNativeAllocation."
Nicolas Geoffray [Tue, 24 Jan 2017 08:55:14 +0000 (08:55 +0000)]
Merge "Allow multiple HX86ComputeBaseMethodAddress."
Andreas Gampe [Tue, 24 Jan 2017 08:36:09 +0000 (08:36 +0000)]
Merge "ART: More rework of test 912"
Treehugger Robot [Tue, 24 Jan 2017 08:29:09 +0000 (08:29 +0000)]
Merge "OatFileAssistant: look at vdex file for IsDexOptNeeded"
Andreas Gampe [Tue, 24 Jan 2017 06:48:15 +0000 (22:48 -0800)]
ART: More rework of test 912
Ensure that the JIT finished compiling before enabling events.
Also run and join a thread before the test.
Bug:
31684920
Test: m ART_TEST_JIT=true ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT=true test-art-host-run-test-912-classes
Change-Id: I86ce3820923fb6d68a5cb2ccc971fca16fe5e35f
Andreas Gampe [Tue, 24 Jan 2017 03:23:10 +0000 (03:23 +0000)]
Merge "ART: Change test 912 order"
Treehugger Robot [Tue, 24 Jan 2017 01:29:31 +0000 (01:29 +0000)]
Merge "Add ClassPreDefine hook."
Andreas Gampe [Tue, 24 Jan 2017 01:29:07 +0000 (17:29 -0800)]
ART: Change test 912 order
Enable events after setting up helpers to avoid internal load
order issues.
Bug:
31684920
Test: m ART_TEST_JIT=true ART_TEST_INTERPRETER=true ART_TEST_GC_STRESS=true test-art-host-run-test-912-classes
Change-Id: Ib744309d778591a337fe2434ad67926e8d12e997
Mathieu Chartier [Tue, 24 Jan 2017 01:02:48 +0000 (01:02 +0000)]
Merge "Add more code info size dumping to oatdump"
Stephen Hines [Tue, 24 Jan 2017 00:27:49 +0000 (16:27 -0800)]
Disable optimization of Atomic::LoadJavaData for x86 targets.
Bug: http://b/
34287931
The latest compiler exposes an issue on the fugu target where optimizing
LoadJavaData triggers a boot loop. This change suppresses that issue by
disabling optimization of this routine only on x86 targets.
Test: Fugu and ARM validation of new compiler.
Change-Id: Id369968cdf9fc95a306fb785c68e95b0ffa0027d
Mathieu Chartier [Wed, 18 Jan 2017 00:38:30 +0000 (16:38 -0800)]
Add more code info size dumping to oatdump
Helps break down where oat bytes are being used, example output on
a large app:
OAT FILE STATS:
Dumping cumulative use of
95784720 accounted bytes
Code =
68894196 (72% of total)
QuickMethodHeader =
3071080 ( 3% of total)
CodeInfoEncoding =
1226080 ( 1% of total)
CodeInfoLocationCatalog =
1005716 ( 1% of total)
CodeInfoDexRegisterMap =
5813389 ( 6% of total)
CodeInfoInlineInfo =
2391251 ( 2% of total)
CodeInfoStackMap =
13383008 (14% of total)
StackMapNativePc =
1607888 (12% of stack map)
StackMapDexPcEncoding =
1116724 ( 8% of stack map)
StackMapDexRegisterMap =
1277680 (10% of stack map)
StackMapInlineInfo =
1082720 ( 8% of stack map)
StackMapRegisterMaskEncoding =
5104960 (38% of stack map)
StackMapMask =
3193034 (24% of stack map)
StackMapOther = 0 ( 0% of stack map)
Test: test-art-host, oatdump
Bug:
34621054
Change-Id: I5daf0f1308d126b6a30928f523c6051585f1491f
Alex Light [Mon, 23 Jan 2017 22:25:17 +0000 (14:25 -0800)]
Add ClassPreDefine hook.
This hook is called prior to defining a class for the first time. It
allows callbacks to modify the dex-file used to load the class if they
wish. The event handler is responsible for ensuring that the returned
dex-file is set-up correctly.
Bug:
31684920
Test: mma -j40 test-art-host
Change-Id: Iaed79c1597913148ead795e033a0a10a4ebe6b2b
Treehugger Robot [Mon, 23 Jan 2017 22:15:08 +0000 (22:15 +0000)]
Merge "ART: Add DataDumpRequest"
Hans Boehm [Mon, 23 Jan 2017 22:12:58 +0000 (22:12 +0000)]
Merge "Add explicit monitor inflation run test."
Treehugger Robot [Mon, 23 Jan 2017 20:59:07 +0000 (20:59 +0000)]
Merge "ART: Add class events"
Hans Boehm [Thu, 5 May 2016 01:35:57 +0000 (18:35 -0700)]
Add explicit monitor inflation run test.
This tests some of the same code as the monitor_pool_test
gtest. But it tests a larger pool size with the code needed to
invoke it from the Java level. Larger pool sizes have gotten
more interesting with the new monitor pool layout.
Add a function to return the size of the current MonitorList.
Currently this is only used by this test, but it is likely to
have debugging or performance analysis uses as well.
Test: Passed on host and on angler.
Change-Id: I4f3f150044a0d8c800eb60635e074119598cfdd1
Andreas Gampe [Mon, 23 Jan 2017 16:50:04 +0000 (08:50 -0800)]
ART: Add DataDumpRequest
Add support for DataDumpRequest. Add test.
Bug:
31684920
Test: m test-art-host-run-test-933-misc-events
Change-Id: Ic54b644a87cd046bc646d9f7fe24c0192f562677
Andreas Gampe [Sat, 21 Jan 2017 01:37:50 +0000 (17:37 -0800)]
ART: Add class events
Add initial support for ClassLoad and ClassPrepare events. Add tests.
The initial implementation does not deal with the difference between
ClassLoad and ClassPrepare classes (the former may be temporary
classes).
Bug:
31684920
Test: m test-art-host-run-test-912-classes
Change-Id: I83535b9c871971f60b6b61f26651958fb32d502f
Shukang Zhou [Mon, 23 Jan 2017 18:35:16 +0000 (18:35 +0000)]
Merge "[ART] Prepare streaming output of method tracing for developer use."
Treehugger Robot [Mon, 23 Jan 2017 18:18:44 +0000 (18:18 +0000)]
Merge "Fix some typos in ART."
Treehugger Robot [Mon, 23 Jan 2017 18:08:00 +0000 (18:08 +0000)]
Merge "ART: Add ThreadStart & ThreadEnd"
Treehugger Robot [Mon, 23 Jan 2017 16:48:50 +0000 (16:48 +0000)]
Merge "ART: Reference.getReferent intrinsic for arm and arm64"
Nicolas Geoffray [Sun, 22 Jan 2017 15:44:39 +0000 (15:44 +0000)]
Allow multiple HX86ComputeBaseMethodAddress.
So that even graphs with irreducible loops can use it
and avoid loading methods/classes/strings through KDexCacheViaMethod.
Test: test-art-host
Change-Id: I14109cfdc82347a7af420ca0ee55172ec37ca8ef
Roland Levillain [Tue, 18 Oct 2016 17:03:43 +0000 (18:03 +0100)]
Fix some typos in ART.
Test: m build-art-host
Test: m cpplint-art
Change-Id: Ifc6ce3d0d645c4a8dca72dd483fc03fc05077130
Vladimir Marko [Mon, 23 Jan 2017 15:08:01 +0000 (15:08 +0000)]
Merge "Fix inserting classes to initiating loader's class table."
TatWai Chong [Wed, 2 Nov 2016 08:12:48 +0000 (16:12 +0800)]
ART: Reference.getReferent intrinsic for arm and arm64
Test: m test-art-host
Test: m test-art-target
Test: export ART_HEAP_POISONING=true; m test-art-host
Test: export ART_HEAP_POISONING=true; m test-art-target
Bug:
32535355
Change-Id: Ie63317689dd9e03a24e701c30411f8014970173a
Nicolas Geoffray [Mon, 23 Jan 2017 13:24:23 +0000 (13:24 +0000)]
Merge "Allow multiple HArmDexCacheArrayBase."
Richard Uhler [Wed, 18 Jan 2017 08:39:23 +0000 (08:39 +0000)]
OatFileAssistant: look at vdex file for IsDexOptNeeded
Even if the oat file cannot be opened, there may be a vdex file that
contains valid dex code. The oat file assistant should take this into
account when determining the dexopt status.
Bug:
34339100
Test: oat_file_assistant_test, with new tests added.
Test: install an app, dumpsys package to show app status,
delete app's oat file, dumpsys package to show status as vdex only,
cmd package compile -r install app, verify in log that input vdex fd is
provided to dex2oat.
Change-Id: Iab43e617a899773b318d61adeb117ed2cec085da
Nicolas Geoffray [Mon, 23 Jan 2017 13:13:35 +0000 (13:13 +0000)]
Merge "ART: Re-enable TI tests for target"
Treehugger Robot [Mon, 23 Jan 2017 12:20:28 +0000 (12:20 +0000)]
Merge "MIPS64: Extend assembler_mips64_test"
Richard Uhler [Thu, 24 Nov 2016 11:21:41 +0000 (11:21 +0000)]
Redesign implementation of RegisterNativeAllocation.
Improve the performance and remove the issue with GCing apps to death when
they reach the growth_limit_.
This implements the REDESIGN approach described in detail in the
document at go/understanding-register-native-allocation.
Bug:
29156652
Bug:
32576211
Test: m test-art-host
Test: vogar libcore/luni/src/test/java/libcore/util/NativeAllocationRegistryTest.java
Test: Device boots.
Test: adb bugreport and look for "Registered native bytes allocated"
Change-Id: I09176b2b0e4f0c401fe1947830fa5271060f4e61
Nicolas Geoffray [Mon, 23 Jan 2017 09:03:12 +0000 (09:03 +0000)]
Allow multiple HArmDexCacheArrayBase.
So that even graphs with irreducible loops can use it
and avoid loading methods through KDexCacheViaMethod.
Test: test-art-target
Change-Id: I913eece1c134ebe9ea989064e477f694b8895d8f