OSDN Git Service
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
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."
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
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."
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:22:56 +0000 (15:22 -0800)]
Add to time to suspend in FlipThreadRoots to histogram
Add the time to suspend to the suspend_all_historam_ to determine if
GC pauses are caused by GC or bad mutator activity.
Also exclude ThreadFlipBegin time being counted as paused since it
happens before threads are suspended.
Test: test-art-host
Change-Id: Ia55db0ebbdc7ba6f23d7212c0e42c7806b297c2b
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 [Thu, 26 Jan 2017 18:31:24 +0000 (18:31 +0000)]
MethodHandles: Tests for additional combiners.
This change tests:
- MethodHandles.filterArguments
- MethodHandles.collectArguments
- MethodHandles.insertArguments
- MethodHandles.foldArguments
Tracks libcore change
cc8ce7297197fc7.
Test: make test-art-host
Change-Id: I214968242cd0e8a23dd6498b273db30f32f22583
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