OSDN Git Service
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
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."
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."
Treehugger Robot [Sat, 28 Jan 2017 04:41:10 +0000 (04:41 +0000)]
Merge "Revert "ART: Give JIT thread pool workers a peer""
Andreas Gampe [Sat, 28 Jan 2017 02:35:31 +0000 (02:35 +0000)]
Revert "ART: Give JIT thread pool workers a peer"
This reverts commit
1ee6dd71e1b9e51e15aae4d3bc95d799f11dbd04.
Has unintended consequences that need to be discussed.
Bug:
31684920
Change-Id: If0ff1b5d7473f98cb3a0efc3b4bb2c0f96ad684d
Treehugger Robot [Sat, 28 Jan 2017 00:51:55 +0000 (00:51 +0000)]
Merge "ART: Give JIT thread pool workers a peer"
Treehugger Robot [Sat, 28 Jan 2017 00:16:59 +0000 (00:16 +0000)]
Merge "ART: Add ThreadPool mode that creates peers"
Treehugger Robot [Sat, 28 Jan 2017 00:08:24 +0000 (00:08 +0000)]
Merge "Make run-test --jvm set DEX_LOCATION"
Mathieu Chartier [Fri, 27 Jan 2017 23:31:59 +0000 (23:31 +0000)]
Merge "Remove alignment bits in between stack maps"
Andreas Gampe [Tue, 24 Jan 2017 21:33:57 +0000 (13:33 -0800)]
ART: Give JIT thread pool workers a peer
To allow reporting those threads, give JIT pool threads a peer.
This is necessary as the compiler may load classes.
Bug: Bug:
29547798
Bug:
31684920
Test: m ART_TEST_JIT=true test-art-host
Change-Id: I7c8e44132475f38995542da76285ca3dd63c559a
Alex Light [Fri, 27 Jan 2017 22:08:17 +0000 (14:08 -0800)]
Make run-test --jvm set DEX_LOCATION
Test: ./test/run-test --jvm 934
Change-Id: Ib8848cf4d29e1357b696e384a7943b14d8fc4a4f
Alexey Frunze [Thu, 26 Jan 2017 03:30:18 +0000 (19:30 -0800)]
MIPS: Refactor code for unresolved field entrypoint.
This is a follow-up to
https://android-review.googlesource.com/#/c/325423/.
Test: booted MIPS32R2 in QEMU
Test: test-art-target-run-test-optimizing in QEMU
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: test-art-target-run-test-optimizing
(MIPS64R6 and MIPS32R6) in QEMU
Change-Id: Ie663ecf0489e7b182434708bef71686df5f37273
Andreas Gampe [Tue, 24 Jan 2017 21:12:19 +0000 (13:12 -0800)]
ART: Add ThreadPool mode that creates peers
Add a mode where worker threads in a thread pool will get a Java
peer. Add a test.
Bug:
29547798
Bug:
31684920
Test: m test-art-host-gtest-thread_pool_test
Change-Id: I3654cc2be1294a79881b6ac9f84445a1e7f24b70
Treehugger Robot [Fri, 27 Jan 2017 20:48:12 +0000 (20:48 +0000)]
Merge "Ensure ClassPreDefine returned dex file is on the Classpath"
Mathieu Chartier [Fri, 27 Jan 2017 19:11:31 +0000 (19:11 +0000)]
Merge "Avoid read barriers for ArtMethod::GetDexFile"
Alex Light [Wed, 25 Jan 2017 21:02:32 +0000 (13:02 -0800)]
Ensure ClassPreDefine returned dex file is on the Classpath
Test: mma -j40 test-art-host
Change-Id: Icf70a78f3a1149d0e5bf9aa64f74f2ca8d025802
Treehugger Robot [Fri, 27 Jan 2017 18:34:27 +0000 (18:34 +0000)]
Merge "ART: Add OnLoad system classloader search support"
Mathieu Chartier [Fri, 20 Jan 2017 02:00:45 +0000 (18:00 -0800)]
Remove alignment bits in between stack maps
Saves 0.65% of boot.oat size, probably similar on apps. Added
BitMemoryRegion to avoid requiring adding state to StackMap. Added
test to memory_region_test.
Test: clean-oat-host && test-art-host
Bug:
34621054
Change-Id: I40279c59e262bd5e3c6a9135f83e22b5b6900d68
Roland Levillain [Fri, 27 Jan 2017 16:42:57 +0000 (16:42 +0000)]
Merge "Don't use VIXL's temp registers in LocationsBuilderARM64::HandleFieldGet."
Andreas Gampe [Mon, 23 Jan 2017 23:04:59 +0000 (15:04 -0800)]
ART: Add OnLoad system classloader search support
Add support for extension of the system classloader search path
during the OnLoad phase. Add test.
Bug:
34359699
Test: m test-art-host-run-test-936-search-onload
Change-Id: Ie0a5b4bb77999dfae87f955dde40b73ffe053b8e
Nicolas Geoffray [Fri, 27 Jan 2017 14:54:28 +0000 (14:54 +0000)]
Make no-relocate the default.
With the move to not support relocatable oat files, testing "relocate"
does not make sense anymore (the runtime would just discard the prebuild
oat file and generate a new one in dalvik-cache).
Just make no-relocate the default for now. We can remove relocation types
once Richard is done removing relocation.
Test: test-art-host test-art-target
bug:
33192586
Change-Id: If39a0ad63451c68d4cfbbb26b767ad98b97d208e
Vladimir Marko [Fri, 27 Jan 2017 15:31:27 +0000 (15:31 +0000)]
Merge "Add ARM support for `floor` and `ceil` intrinsics."
Narayan Kamath [Fri, 27 Jan 2017 15:22:19 +0000 (15:22 +0000)]
Merge "MethodHandles: Support and tests for revealDirect / reflectAs."
Nicolas Geoffray [Fri, 27 Jan 2017 15:08:49 +0000 (15:08 +0000)]
Merge changes from topic 'VIXL-update-270117'
* changes:
ARM: VIXL32: Keep jump table base label within range of adr.
ARM64: VIXL: Fix breaking changes to ternary operator with Register inputs.
Narayan Kamath [Wed, 25 Jan 2017 10:46:54 +0000 (10:46 +0000)]
MethodHandles: Support and tests for revealDirect / reflectAs.
We need runtime support to materialize a Constructor, Field or
Method object from a MethodHandle and its associated ArtField
or ArtMethod pointer.
An alternate approach might be to have all handles hold a reference
to their associated Field or Method object (in addition to the
raw ArtField or ArtMethod) but that seems unnecessary given that
these APIs are not expected to be called often.
Test: test-art-host
Change-Id: I9450706b9c30359edebf2e8a7afbc8d89bd68b26
Roland Levillain [Thu, 26 Jan 2017 19:04:23 +0000 (19:04 +0000)]
Don't use VIXL's temp registers in LocationsBuilderARM64::HandleFieldGet.
Before this CL, when emitting a volatile field load with a
large offset, it was possible to deplete the pool of VIXL
ARM64 temporary registers (IP0, IP1) in the concurrent
collector configuration. To avoid this, we now request a
temporary register from the register allocator instead.
Test: m test-art-target-run-test-635-checker-arm64-volatile-load-cc
Bug:
34726333
Change-Id: Idf73a0306142c6133e259783aacaf7ad5401a2fd
Artem Serov [Fri, 6 Jan 2017 15:58:31 +0000 (15:58 +0000)]
Add ARM support for `floor` and `ceil` intrinsics.
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target
Change-Id: Ia6fe41ea912e32a73d78629c616bc64ad1ecfe66
Treehugger Robot [Fri, 27 Jan 2017 10:37:34 +0000 (10:37 +0000)]
Merge "Revert "Revert "CHA for abstract methods."""
Scott Wakeling [Wed, 18 Jan 2017 15:59:24 +0000 (15:59 +0000)]
ARM: VIXL32: Keep jump table base label within range of adr.
Macro assembler instructions between adr and the jump table base label
could cause literal pool or veneer emission, which would push the jump
table start out of adr range. Such a large emission is highly unlikely,
but possible, so prevent this by using an ExactAssemblyScope.
Test: export ART_USE_VIXL_ARM_BACKEND=true && test-art-target
Change-Id: I46a038e452e197d73206b415376b5f2246388317
Scott Wakeling [Thu, 19 Jan 2017 14:08:42 +0000 (14:08 +0000)]
ARM64: VIXL: Fix breaking changes to ternary operator with Register inputs.
Test: mma art
Change-Id: I33d1e05e47f337f1a9271b35dba9227057cda096
Nicolas Geoffray [Fri, 27 Jan 2017 10:10:20 +0000 (10:10 +0000)]
Merge "Shoot in the dark to try and fix mac build."
Nicolas Geoffray [Fri, 27 Jan 2017 09:56:30 +0000 (09:56 +0000)]
Shoot in the dark to try and fix mac build.
Use MACRO_LITERAL in assembly macros instead of LITERAL.
Change-Id: I9fd921e4ae59550cfcc1f573be1798ea9823a0cb
Nicolas Geoffray [Fri, 27 Jan 2017 09:31:36 +0000 (09:31 +0000)]
Merge "Add per array size allocation entrypoints."
Mingyao Yang [Fri, 20 Jan 2017 18:43:30 +0000 (10:43 -0800)]
Revert "Revert "CHA for abstract methods.""
This reverts commit
8ebc8bf055e8bd8f6f167e65a69cf4dae136db55.
When we set the single-implementation method for an abstract method, it
need to be protected by the cha-lock.
Test: new testcase and ART_TEST_JIT=true m -j20 test-art-host-run-test
Change-Id: I66acb20ffa7e49dd9c391f001e3bb52f961872e4
Treehugger Robot [Fri, 27 Jan 2017 06:20:17 +0000 (06:20 +0000)]
Merge "Pass the correct name to ClassFileLoadHook"
Alex Light [Fri, 27 Jan 2017 01:21:51 +0000 (17:21 -0800)]
Pass the correct name to ClassFileLoadHook
We were passing the dotted name instead of the slashed one.
Test: ./test/run-test --host 937
Change-Id: I4f5f4128cd87ed3d592b7af5724554160f15bdae
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
Treehugger Robot [Fri, 27 Jan 2017 00:25:51 +0000 (00:25 +0000)]
Merge "Re-enable tests 934 & 935"
Nicolas Geoffray [Thu, 26 Jan 2017 23:25:10 +0000 (23:25 +0000)]
Merge "You shall know your arm32 calling conventions."
Nicolas Geoffray [Thu, 26 Jan 2017 22:47:27 +0000 (22:47 +0000)]
You shall know your arm32 calling conventions.
64bit values are passed starting an even register.
test: ./art/test/run-test --no-relocate 529-checker-unresolved
Change-Id: Ic3012f34898702b48fdab4d7a77dfdd4c2a1d916
Alex Light [Thu, 26 Jan 2017 01:44:53 +0000 (17:44 -0800)]
Re-enable tests 934 & 935
There were two issues causing problems with these tests.
1) The loading of classes could occur prior to the transformer being
enabled. This was fixed by putting the classes under test into a
different ClassLoader and disabling app-images.
2) DexToDex compilation was devirtualizing some calls meaning that
reordering the methods was causing incorrect dispatch.
This reverts commit
50cc0cceb5ca0abd4fff2cb3467ea74e7590cb10.
This reverts commit
e9f36b7cb42348ef5c4eb3c88bd3cfdd56390a3e.
This reverts commit
1e7e96e4a66f668255a1683b837863228489faf9.
Test: ART_TEST_INTERPRETER=true \
ART_TEST_JIT=true \
mma -j40 test-art-host
Test: ART_TEST_INTERPRETER_ACCESS_CHECKS=true \
ART_TEST_RUN_TEST_NO_DEX2OAT=true \
ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT=true \
ART_TEST_RUN_TEST_NO_RELOCATE=true \
mma -j40 test-art-host-run-test-934-load-transform \
test-art-host-run-test-935-non-retransformable
Change-Id: Ia600ba37d45a5f9489b03c7f4d143849c887b8a7
Nicolas Geoffray [Thu, 26 Jan 2017 19:57:44 +0000 (19:57 +0000)]
Merge "Make verify-profile not look at the profile."
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 [Wed, 25 Jan 2017 22:06:53 +0000 (22:06 +0000)]
Make verify-profile not look at the profile.
It doesn't work well with vdex. In follow-up CLs,
I'll just remove/rename the filter.
For the record, compiling sheets on an angler:
verify-profile: dex2oat took 5.383s (6.672s cpu)
vdex: dex2oat took 1.686s (1.562s cpu)
bug:
34715556
bug:
34691602
bug:
34691854
Test: test-art-host
Change-Id: I286637a3d7ebe1b18985e96845b0b8c4f67a1a39
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
Nicolas Geoffray [Mon, 23 Jan 2017 22:50:24 +0000 (22:50 +0000)]
Add per array size allocation entrypoints.
- Update architectures that have fast paths for
array allocation to use it.
- Will add more fast paths in follow-up CLs.
Test: test-art-target test-art-host.
Change-Id: I138cccd16464a85de22a8ed31c915f876e78fb04
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