OSDN Git Service
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."
Treehugger Robot [Thu, 2 Feb 2017 03:51:38 +0000 (03:51 +0000)]
Merge "Fix address space conflict with asan in 32-bit."
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
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
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
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 [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."
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