OSDN Git Service
Andreas Gampe [Sat, 13 Aug 2016 04:53:32 +0000 (21:53 -0700)]
ART: Refactor ImageSpace loading
Make the code more straightforward so it is easier to reason
about and extend.
Also change return types to unique pointers so it's clear that
it is the caller's responsibility to free those when necessary.
Bug:
30832951
Test: m test-art-host
Test: device booting
Change-Id: I3216eb702e45357a48af5158dacbe40e79bd1ae9
Treehugger Robot [Mon, 15 Aug 2016 14:35:48 +0000 (14:35 +0000)]
Merge "Revert "Enable IntermediateAddress for primitive arrays with read barriers.""
Roland Levillain [Mon, 15 Aug 2016 13:17:06 +0000 (13:17 +0000)]
Revert "Enable IntermediateAddress for primitive arrays with read barriers."
This CL breaks the angler-userdebug build with
`ART_USE_READ_BARRIER=true`.
Test: Build angler-userdebug with `ART_USE_READ_BARRIER=true`.
Bug:
30762467
Bug:
26601270
Bug:
12687968
This reverts commit
12ecf0800d465acdaa3deccd383ff8ed3428a183.
Change-Id: Ia2069ac9436d2336311dd8d0f183c02e587586ae
Roland Levillain [Mon, 15 Aug 2016 10:03:32 +0000 (10:03 +0000)]
Merge "ARM64: VIXL: Support a newer version of VIXL."
Mathieu Chartier [Sat, 13 Aug 2016 00:06:30 +0000 (00:06 +0000)]
Merge "Fix heap poisoning"
Treehugger Robot [Fri, 12 Aug 2016 23:16:45 +0000 (23:16 +0000)]
Merge "Make test work when running ndebug."
Mathieu Chartier [Fri, 12 Aug 2016 22:44:44 +0000 (15:44 -0700)]
Fix heap poisoning
Was wrong register.
Test: test-art-host-run-test CC table lookup + poisoning.
Bug:
30162165
Change-Id: If347a40963bcc2fb9e21c54b5405c852bcd3af08
Treehugger Robot [Fri, 12 Aug 2016 22:07:41 +0000 (22:07 +0000)]
Merge "Revert "Revert "Iterative move coalescing for gc regalloc"""
Treehugger Robot [Fri, 12 Aug 2016 21:58:25 +0000 (21:58 +0000)]
Merge "ART: Remove zygote OTA code"
Alex Light [Fri, 12 Aug 2016 21:43:48 +0000 (14:43 -0700)]
Make test work when running ndebug.
Change-Id: Iea58ccef51fddaeae4b1fb7084a7956400a81dfe
Test: ART_TEST_RUN_TEST_NDEBUG=true mma -j40 test-art-host-run-test-900-hello-plugin
Treehugger Robot [Fri, 12 Aug 2016 20:54:05 +0000 (20:54 +0000)]
Merge "Use TestCodeGeneratorX86 in codegen unit tests"
Matthew Gharrity [Fri, 12 Aug 2016 16:10:45 +0000 (16:10 +0000)]
Revert "Revert "Iterative move coalescing for gc regalloc""
This reverts commit
6f61ee5623a676ce983ccfa1aba9b2ae1237e163,
and fixes the arena allocator issues in the original CL.
Functionality from the original CL has not changed.
Test: m valgrind-test-art-host-gtest-register_allocator_test
Test: ART_TEST_OPTIMIZING_GRAPH_COLOR=true m test-art-host-run-test
Change-Id: Idd979f4e03f0c2800e0c07a0a7d392c8a4230aab
Andreas Gampe [Sat, 9 Jul 2016 17:51:12 +0000 (10:51 -0700)]
ART: Remove zygote OTA code
The renaming and relabeling of the A/B artifacts is now done in
a special-purpose script started by init, so as to not complicate
the logic here (e.g., name of the current slot).
Partially reverts commit
754479f7aa056602de8282f4f03718b42c20b89b.
Bug:
25612095
Bug:
28069686
Change-Id: I4d965361000fd448e199c9af059b6d18bfe928bb
(cherry picked from commit
ff2a8ef2ed6b3f21da26f85197170d7d2a9f5134)
Treehugger Robot [Fri, 12 Aug 2016 18:19:54 +0000 (18:19 +0000)]
Merge "ART: Reduce stack frame size limit on host"
Mathieu Chartier [Fri, 12 Aug 2016 17:34:56 +0000 (17:34 +0000)]
Merge "Optimize x86_64 TLAB allocation speed"
Treehugger Robot [Fri, 12 Aug 2016 17:33:34 +0000 (17:33 +0000)]
Merge changes I852b4daf,Id648eaed
* changes:
Add basic runtime-plugins support.
Create a basic agent loading framework.
Treehugger Robot [Fri, 12 Aug 2016 17:11:01 +0000 (17:11 +0000)]
Merge "ART: Configure stack guard size in the Makefile"
Treehugger Robot [Fri, 12 Aug 2016 15:14:44 +0000 (15:14 +0000)]
Merge "Fix duplicate checks in JNI macro assemblers."
Roland Levillain [Fri, 12 Aug 2016 13:45:57 +0000 (13:45 +0000)]
Merge "Adjust spacing before NOLINT comments in ART."
Vladimir Marko [Fri, 12 Aug 2016 13:26:15 +0000 (14:26 +0100)]
Fix duplicate checks in JNI macro assemblers.
Instead of checking one register twice, check the other
register passed to the function.
Test: Run ART test suite on host and Nexus 5.
Bug:
30739460
Change-Id: If868ea14f5c192982488ed065b279a019b5b7cf4
Artem Serov [Mon, 8 Aug 2016 14:11:24 +0000 (15:11 +0100)]
ARM64: VIXL: Support a newer version of VIXL.
Please note that compiling VIXL with -Wshadow is a known VIXL issue.
This will be resolved in a later version of VIXL, when we can drop
the deprecated API for getters and setters.
For more info take a look at VIXL_DEPRECATED in the VIXL source code.
Change-Id: Iea30b1a7b065f9b16a92c6cc7ebdc50ef068b348
Roland Levillain [Thu, 11 Aug 2016 22:53:33 +0000 (23:53 +0100)]
Adjust spacing before NOLINT comments in ART.
Note that neither clang-tidy nor cpplint.py complain about
these style "issues", precisely because of the NOLINT
comments.
Test: WITH_TIDY=1 WITH_TIDY_CHECKS='-*,misc-macro-parentheses' mmma art
Change-Id: Id692fd394ffbd4fe208cbbe4407b4d5e208462bb
Vladimir Marko [Fri, 12 Aug 2016 11:23:40 +0000 (11:23 +0000)]
Merge "ARM: Add vldm/vstm assembler support."
Treehugger Robot [Fri, 12 Aug 2016 10:22:57 +0000 (10:22 +0000)]
Merge "Initialize Heap's collector pointers to null."
Treehugger Robot [Fri, 12 Aug 2016 08:01:43 +0000 (08:01 +0000)]
Merge "Revert "Iterative move coalescing for gc regalloc""
Andreas Gampe [Fri, 12 Aug 2016 06:33:15 +0000 (06:33 +0000)]
Revert "Iterative move coalescing for gc regalloc"
There are lifetime issues with allocators and coloring
iterations that got flagged by valgrind.
This reverts commit
465ed699e810868fe5bb39730e6d149a4734372d.
Change-Id: I9e08172321af61d109c116a4f0742fa809e8094b
Test: m test-art-host
Treehugger Robot [Fri, 12 Aug 2016 06:28:56 +0000 (06:28 +0000)]
Merge "Remove kRestrictCompilationFiltersToImage"
Treehugger Robot [Fri, 12 Aug 2016 06:16:40 +0000 (06:16 +0000)]
Merge "Enable compiled-methods= dex2oat switch"
Andreas Gampe [Fri, 12 Aug 2016 04:11:59 +0000 (21:11 -0700)]
ART: Reduce stack frame size limit on host
Clang isn't that bad anymore.
Change-Id: Id9f3e3e34a743b43c6b535d2757be7869a8cf7ea
Andreas Gampe [Fri, 12 Aug 2016 01:35:58 +0000 (18:35 -0700)]
ART: Configure stack guard size in the Makefile
Configure the stack guard reserved size through defines set in
the Makefile. This can be used to increase the gap depending on
the configuration, which may be required to safely support Java
stack overflows in instrumented builds.
Bug:
30766843
Change-Id: Icdd3209e3a261ea8383ef8eab38153255339b04a
Test: m test-art-host
Andreas Gampe [Fri, 12 Aug 2016 01:43:26 +0000 (01:43 +0000)]
Merge "Iterative move coalescing for gc regalloc"
Mathieu Chartier [Wed, 10 Aug 2016 01:37:09 +0000 (18:37 -0700)]
Optimize x86_64 TLAB allocation speed
Added assembly fast path code for resolved and initialized object
region TLAB allocations. Removed 3 instructions from TLAB fast path.
Added assembly fast path for array TLAB region allocators.
Should have more speedups for read barrier fast paths during
resolved and initialized alloc entrypoints.
Bug:
30162165
Test: test-art-host CC baker
Change-Id: I64dd06be5f18c8d6a5de0f15f0e2e7d488e99f18
Matthew Gharrity [Fri, 12 Aug 2016 00:20:05 +0000 (17:20 -0700)]
Use TestCodeGeneratorX86 in codegen unit tests
The codegen unit tests are supposed to use special "test" code
generators when targeting ARM and x86 (due to differing calling
conventions between the C++ source code and the generated code),
yet TestCodeGeneratorX86 was not being used. This fixes that.
(The tests were only succeeding because the register allocator happened
to not assign the EBX register.)
Test: m test-art-host-gtest-codegen_test
Change-Id: Ia3dd6998c38e9ff27b8c2734457f86b3fed44ab4
Alex Light [Thu, 11 Aug 2016 17:48:03 +0000 (10:48 -0700)]
Add basic runtime-plugins support.
This allows one to pass shared-libraries on the command line that the
runtime will load as plugins. They have access to runtime code and can
install hooks to add functionality. Currently the only hook they can
touch is JavaVMExt::AddEnvironmentHook to register a callback for
GetEnv(). More hooks might be added in the future.
Test: ./test/run-test 900
Change-Id: I852b4daf5a3fa71e9888722bc07794632c0e5010
Alex Light [Thu, 28 Jul 2016 17:07:45 +0000 (10:07 -0700)]
Create a basic agent loading framework.
Currently we only allow agents to be loaded at runtime startup, though
this is expected to change soon.
Test: ./test/run-test --host 900
Change-Id: Id648eaed4bbbe6fdef41d64922d023a4db0bfa54
Matthew Gharrity [Fri, 22 Jul 2016 15:52:13 +0000 (08:52 -0700)]
Iterative move coalescing for gc regalloc
Implement iterative move coalescing for graph coloring
register allocation. Based on Andrew Appel's implementation
in "Modern Compiler Implementation in Java", modified to
support constraints such as pair intervals.
Test: ART_TEST_OPTIMIZING_GRAPH_COLOR=true m test-art-host
Change-Id: I8642297d3bd798a4fc4de4b356ac3304098471a5
Vladimir Marko [Thu, 11 Aug 2016 17:25:53 +0000 (18:25 +0100)]
Initialize Heap's collector pointers to null.
Test: Run ART test suite on host.
Bug:
30807718
Change-Id: I9b83b44df250b00af48dc1aa653d78aea84d0874
Treehugger Robot [Thu, 11 Aug 2016 18:41:55 +0000 (18:41 +0000)]
Merge "x86/x86-64: Shorter fast-path for read barrier field load."
Treehugger Robot [Thu, 11 Aug 2016 18:37:50 +0000 (18:37 +0000)]
Merge "ARM64: Use libvixld when compiling for debug mode."
Aart Bik [Thu, 11 Aug 2016 18:24:10 +0000 (18:24 +0000)]
Merge "Full enable new round implementation on x86/x86_64"
Artem Serov [Fri, 15 Jul 2016 14:01:13 +0000 (15:01 +0100)]
ARM: Add vldm/vstm assembler support.
Change-Id: Id97417de8ebd07fc1fbee5d17e4b1c620a2c44cc
Alexandre Rames [Thu, 11 Aug 2016 16:04:14 +0000 (17:04 +0100)]
ARM64: Use libvixld when compiling for debug mode.
VIXL debug mode checks are valuable to catch dangerous code that can
lead to bugs.
This patch includes a couple of fixes for issues spotted by VIXL in debug mode.
Change-Id: I388ae1ffd9256ad74d0b6ce06f79cc7927a5f28a
Vladimir Marko [Thu, 11 Aug 2016 13:16:57 +0000 (14:16 +0100)]
x86/x86-64: Shorter fast-path for read barrier field load.
Test: Tested with ART_USE_READ_BARRIER=true on host.
Bug:
29966877
Bug:
12687968
Change-Id: I73359495910dacb2cc28f1a21ef9e610bab5a476
Vladimir Marko [Thu, 11 Aug 2016 09:01:22 +0000 (09:01 +0000)]
Merge "ARM/ARM64: Improve assembler macros for kSaveEverything frame."
Treehugger Robot [Thu, 11 Aug 2016 05:38:00 +0000 (05:38 +0000)]
Merge "ART: Check for more low-space situations in zygote"
Andreas Gampe [Wed, 10 Aug 2016 03:19:18 +0000 (20:19 -0700)]
ART: Check for more low-space situations in zygote
Even if a boot image exists and can be loaded, the rest of the
platform may not be able to boot. We previously only checked
after full image generation and missed this case.
Also prune the cache if there wasn't even space to put the boot
marker.
(cherry picked from commit
f242f66cf7137ef681e44a494758976e11579260)
Bug:
30765660
Test: m test-art-host
Change-Id: Icd43746e681c62ce2e4e8745fb17bda65ca60372
Treehugger Robot [Thu, 11 Aug 2016 00:37:21 +0000 (00:37 +0000)]
Merge "Fix pending exception failure for encoded statics"
Mathieu Chartier [Wed, 10 Aug 2016 20:57:39 +0000 (13:57 -0700)]
Fix pending exception failure for encoded statics
ReadValueToField may allocate a string and cause OOME, we were
not checking this each loop iteration. Throwing an exception
with a pending exception causes an abort.
Bug:
30690988
Test: test-art-host
Change-Id: I2c9751bf0544cf115d9d8e914e58ebccc81bcbf4
Aart Bik [Wed, 10 Aug 2016 21:05:54 +0000 (14:05 -0700)]
Full enable new round implementation on x86/x86_64
Rationale:
Running JIT on Fugu does not always provide a constant area.
In such cases, we need to construct FP constants through stack.
This only applies to x86.
Test: 580-checker-round
BUG=
26327751
Change-Id: I7e2c80dafbafbe647cfe9ecb039920bb534c666a
Vladimir Marko [Wed, 10 Aug 2016 11:30:05 +0000 (12:30 +0100)]
ARM/ARM64: Improve assembler macros for kSaveEverything frame.
On ARM, use vpush/vpop {d0-d15} instead of {s0-s31}.
On ARM64, use 16-byte aligned stp/ldp for FP registers.
Test: Run ART test suite on Nexus 9.
Bug:
30212852
Change-Id: I36c04d3f1f7e03661c501977c3c9ffa7d2942d2f
Treehugger Robot [Wed, 10 Aug 2016 19:06:01 +0000 (19:06 +0000)]
Merge "Fix negative array size checking"
Mathieu Chartier [Wed, 10 Aug 2016 17:08:58 +0000 (10:08 -0700)]
Fix negative array size checking
Mask out the alignment after the size check. Was broken in previous
CL.
Test: target test 412 --64 with CC + baker
Bug:
30162165
Change-Id: Ic4eb7229fb742490cd9193baf0faa2be6b454f38
Treehugger Robot [Wed, 10 Aug 2016 16:06:07 +0000 (16:06 +0000)]
Merge "ART: Fix JIT profile saver"
Serguei Katkov [Mon, 1 Aug 2016 10:47:04 +0000 (17:47 +0700)]
ART: Fix JIT profile saver
We miss the case when jit activity notification count exceeds
the threshold. Fix it.
Bug:
30583550
Test: manual test in master
Change-Id: Ib10a34d3c2f5d3cf674b1c4d7a3c1204784865d3
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Vladimir Marko [Wed, 10 Aug 2016 14:28:27 +0000 (14:28 +0000)]
Merge "Rename callee save enumerators."
Narayan Kamath [Wed, 10 Aug 2016 14:15:28 +0000 (14:15 +0000)]
Merge "Instruction: Add new formats 45cc and 4rcc."
Vladimir Marko [Wed, 10 Aug 2016 13:29:15 +0000 (13:29 +0000)]
Merge "ARM: Embed constants in add/sub-long."
Vladimir Marko [Wed, 3 Aug 2016 17:49:58 +0000 (18:49 +0100)]
Rename callee save enumerators.
And related image method enumerators, macros, etc.
Clean up some entrypoint assembly comments.
This is a follow-up to
https://android-review.googlesource.com/252348
Test: Run ART test suite on host and Nexus 9.
Bug:
30212852
Change-Id: I2707342d4255c88c547655be83ed97a67e12ae9e
Narayan Kamath [Wed, 3 Aug 2016 11:46:23 +0000 (12:46 +0100)]
Instruction: Add new formats 45cc and 4rcc.
These are new 4 byte formats with the following properties.
- The first three (16 bit) words of these instructions have the same
format as 35c and 3rc respectively.
- The fourth 16 bit word encodes an additional constant index reference.
This change includes placeholder opcodes for invoke-polymorphic and
invoke-polymorphic/range which will be the first dex instructions that
use this new format. In addition to a method_idx that gives the invoked
method, these instructions also provide a proto_idx which gives the
(static) type signature of the call site.
The only reason these are included in this change is because we need
an instruction with a given format to write a unit_test using the Instruction
API.
bug:
30550796
test: make test-art-host
Change-Id: I02612ddee47169757175a8079d82f811f6545945
Narayan Kamath [Wed, 10 Aug 2016 10:20:49 +0000 (10:20 +0000)]
Merge "Revert experimental lambda feature."
Sebastien Hertz [Wed, 10 Aug 2016 05:18:48 +0000 (05:18 +0000)]
Merge "JDWP: fix method argument count"
Treehugger Robot [Wed, 10 Aug 2016 03:52:13 +0000 (03:52 +0000)]
Merge "Add a graph coloring art test option"
Treehugger Robot [Wed, 10 Aug 2016 00:20:25 +0000 (00:20 +0000)]
Merge "ART: Extract JNI macro assembler for arm"
Wojciech Staszkiewicz [Tue, 9 Aug 2016 21:30:55 +0000 (14:30 -0700)]
Enable compiled-methods= dex2oat switch
Pass compiled_methods instead of nullptr from dex2oat to
compiler driver.
Test: Run dex2oat with compiled-methods and dump-passes
set. Look at the dump-passes output and verify that only
methods provided in compiled-methods are compiled.
Change-Id: Ic7249878f7bde5fdb18f9cc348b7ba82de486df8
Matthew Gharrity [Tue, 9 Aug 2016 01:03:46 +0000 (18:03 -0700)]
Add a graph coloring art test option
Test: ART_TEST_OPTIMIZING_GRAPH_COLOR=true m test-art-host
Change-Id: I1bd7c20cdd372ed227204c990484d123c67bdfa8
Andreas Gampe [Tue, 9 Aug 2016 00:32:34 +0000 (17:32 -0700)]
ART: Extract JNI macro assembler for arm
Extract the JNI assembler parts from the regular assembler.
Change-Id: Ice39ffeb854f8651e93443dd69f4c9e0e802975c
Test: m test-art-target (N6)
Treehugger Robot [Tue, 9 Aug 2016 22:23:24 +0000 (22:23 +0000)]
Merge "ART: Extract JNI macro assembler for arm64"
Mathieu Chartier [Tue, 9 Aug 2016 19:05:06 +0000 (19:05 +0000)]
Merge "Card mark holding class instead of declaring class"
Treehugger Robot [Tue, 9 Aug 2016 18:34:17 +0000 (18:34 +0000)]
Merge "Revert "Revert "ARM64 asm for region space array allocation"""
Mathieu Chartier [Fri, 5 Aug 2016 17:46:36 +0000 (10:46 -0700)]
Card mark holding class instead of declaring class
For profiling info, we need to mark the card of the holding class
instead of declaring class. This is required for GC correctness since
the GC relies on the card table to track cross space references.
Test: test-art-host ART_TEST_JIT=true
Bug:
30655270
Change-Id: Ia4690219ded0df38032b644440273e06bc303956
Mathieu Chartier [Mon, 8 Aug 2016 16:41:04 +0000 (09:41 -0700)]
Revert "Revert "ARM64 asm for region space array allocation""
Also added missing large object check. No regression from the check
N6P CC EAAC time at 1313 for 10 samples vs 1314 before reverts.
Bug:
30162165
Bug:
12687968
Test: test-art-target with CC + heap poisoning
This reverts commit
6ae7f3a4541e70f04243a6fe469aa3bd51e16d79.
Change-Id: Ie28f652f619898d7d37eeebf3f31a88af8fac949
Treehugger Robot [Tue, 9 Aug 2016 16:17:30 +0000 (16:17 +0000)]
Merge "Clean up VLOG(oat) in OatFileAssistant."
Vladimir Marko [Tue, 9 Aug 2016 16:10:22 +0000 (16:10 +0000)]
Merge "MIPS64: Properly preserve $gp in art_quick_test_suspend"
Sebastien Hertz [Mon, 8 Aug 2016 08:20:28 +0000 (10:20 +0200)]
JDWP: fix method argument count
The arguments count must include 'this' for instance method.
Bug:
30673627
Test: make test-art-host
Test: art/tools/run-jdwp-tests.sh --mode=host --variant=X64
Change-Id: Ie582e3bb3e27a2572ce5d3c66990f02650eee61b
Treehugger Robot [Tue, 9 Aug 2016 14:31:56 +0000 (14:31 +0000)]
Merge "Fix setting FdFile::ReadOnlyMode() flag"
Goran Jakovljevic [Tue, 9 Aug 2016 13:15:39 +0000 (15:15 +0200)]
MIPS64: Properly preserve $gp in art_quick_test_suspend
$gp register was restored in RESTORE_SAVE_EVERYTHING_CALLEE_SAVE_FRAME
with value from $t8, but $t8 has been clobbered in the meantime.
Calculation of $gp is done as a part of the macro
SETUP_SAVE_EVERYTHING_CALLEE_SAVE_FRAME. This allows us to use version
of .cpsetup where $gp is preserved on the stack, instead in another
register.
This fixes over 60 ART tests.
Additionally this suppresses assembler warnings for MIPS32 and MIPS64:
Warning: used $at without ".set noat"
Test: mma test-art-target-run-test on QEMU
Change-Id: Ic92680c3cb2a4405353b3640c836e92c0231bd15
David Brazdil [Tue, 9 Aug 2016 11:10:56 +0000 (12:10 +0100)]
Fix setting FdFile::ReadOnlyMode() flag
The Unix flag O_RDONLY is defined as zero and hence its presence
cannot be tested with '(flags & O_RDONLY) != 0'. This used to be
broken in FdFlag when setting its internal `read_only_mode_` flag.
Test: m test-art-host-gtest-fd_file_test
Change-Id: Ib48abfc908c7032f031450a1574130e06f6c3bab
Narayan Kamath [Fri, 5 Aug 2016 10:44:32 +0000 (11:44 +0100)]
Revert experimental lambda feature.
This is a revert of the following changes :
30c475a2046951a81769c2db0b2dad66cd71e189.
lambda: Minor capture-variable/liberate-variable clean-up after post-merge reviews.
6918bf13eb855b3aa8ccdddda2d27ae8c60cec56.
lambda: Experimental support for capture-variable and liberate-variable
fc1ccd740b7c8e96dfac675cfc580122cd1b40a6.
lambda: Infrastructure to support capture/liberate-variable dex opcodes
e2facc5b18cd756a8b5500fb3d90da69c9ee0fb7.
runtime: Add lambda box/unbox object equality
2ee54e249ad21c74f29a161e248bebe7d22fddf1.
runtime: Partially implement box-lambda and unbox-lambda experimental opcodes
158f35c98e2ec0d40d2c032b8cdce5fb60944a7f.
interpreter: Add experimental lambda opcodes for invoke/create-lambda
a3bb72036f5454e410467f7151dc89f725ae1151.
Added format 25x to dexdump(2).
Plus surrounding cleanups.
Test: make test-art
Change-Id: Ic6f999ad17385ef933f763641049cf721510b202
Tobias Thierer [Tue, 9 Aug 2016 08:55:34 +0000 (08:55 +0000)]
Merge "Use Thread.dispatchUncaughtException() rather than duplicating logic."
Andreas Gampe [Mon, 8 Aug 2016 23:06:34 +0000 (16:06 -0700)]
ART: Extract JNI macro assembler for arm64
Extract the JNI assembler parts from the regular assembler.
Change-Id: I0b0ad32e18f585b75e9da0237afe082c25a1d291
Test: m test-art-target (N9)
Richard Uhler [Fri, 5 Aug 2016 23:32:55 +0000 (16:32 -0700)]
Clean up VLOG(oat) in OatFileAssistant.
Refactor GetOatDexFile to have an error message out parameter.
Change-Id: I6b933f1fcfc9726c051a9d9678d92587cc02501e
Test: OatFileAssistantTest with and without -verbose:oat logging turned on.
Test: m test-art-host
Wojciech Staszkiewicz [Fri, 5 Aug 2016 21:34:29 +0000 (14:34 -0700)]
Remove kRestrictCompilationFiltersToImage
Removed compiler driver kRestrictCompilationFiltersToImage flag,
impact is in the noise.
Change-Id: I50be7a201f677fa0cb6db38d9b5f039754e1f98c
Treehugger Robot [Mon, 8 Aug 2016 22:54:28 +0000 (22:54 +0000)]
Merge "Fix missing spaces in checker tests"
Wojciech Staszkiewicz [Mon, 8 Aug 2016 21:35:30 +0000 (14:35 -0700)]
Fix missing spaces in checker tests
This fixes missing spaces in few checker tests.
Change-Id: Id2e7ee4da0077dfd6676526cbd203a98e2bfd7ee
Treehugger Robot [Mon, 8 Aug 2016 21:35:04 +0000 (21:35 +0000)]
Merge "ART: Improve addr2line"
Treehugger Robot [Mon, 8 Aug 2016 19:39:51 +0000 (19:39 +0000)]
Merge "ART: Extract JNI macro assembler for x86"
Treehugger Robot [Mon, 8 Aug 2016 19:38:53 +0000 (19:38 +0000)]
Merge "ART: Extract JNI macro assembler for x86-64"
Treehugger Robot [Mon, 8 Aug 2016 19:23:30 +0000 (19:23 +0000)]
Merge "Implement running user defined list of passes"
Andreas Gampe [Fri, 5 Aug 2016 16:01:50 +0000 (09:01 -0700)]
ART: Extract JNI macro assembler for x86-64
Extract the JNI assembler parts from the regular assembler.
Test: m test-art-host
Change-Id: I291fb76ad9232123b4c1992488ee81fec3c1db47
Andreas Gampe [Sat, 6 Aug 2016 03:34:39 +0000 (20:34 -0700)]
ART: Extract JNI macro assembler for x86
Extract the JNI assembler parts from the regular assembler.
Change-Id: I0b47af03ca12798f58dafec716a529eb0edf9649
Test: m test-art-host
Wojciech Staszkiewicz [Tue, 2 Aug 2016 00:48:59 +0000 (17:48 -0700)]
Implement running user defined list of passes
This change introduces new dex2oat switch --run-passes=. This switch
accepts path to a text file with names of passes to run.
Compiler will run optimization passes specified in the file rather
then the default ones.
There is no verification implemented on the compiler side. It is user's
responsibility to provide a list of passes that leads to successful
generation of correct code. Care should be taken to prepare a list
that satisfies all dependencies between optimizations.
We only take control of the optional optimizations. Codegen (builder),
and all passes required for register allocation will run unaffected
by this mechanism.
Change-Id: Ic3694e53515fefcc5ce6f28d9371776b5afcbb4f
Vladimir Marko [Mon, 8 Aug 2016 18:17:16 +0000 (18:17 +0000)]
Merge "ARM/ARM64: Improve Mterp */lit8 assembly."
Treehugger Robot [Mon, 8 Aug 2016 16:17:11 +0000 (16:17 +0000)]
Merge "ahat: Target Java 1.7."
Treehugger Robot [Mon, 8 Aug 2016 15:31:00 +0000 (15:31 +0000)]
Merge "Revert "ARM64 asm for region space array allocation""
Roland Levillain [Mon, 8 Aug 2016 14:41:32 +0000 (14:41 +0000)]
Revert "ARM64 asm for region space array allocation"
This change breaks many tests on the ARM64 concurrent
collector configuration.
Bug:
30162165
Bug:
12687968
This reverts commit
f686c3feabe3519bedd1f3001e5dd598f46946ef.
Change-Id: I5d7ef5fa2ffb6a8d9a4d3adbcc14854efa257313
Tobias Thierer [Mon, 8 Aug 2016 14:32:40 +0000 (14:32 +0000)]
Merge "Support Mockito in art buildbot tests"
Tobias Thierer [Wed, 3 Aug 2016 15:13:04 +0000 (16:13 +0100)]
Support Mockito in art buildbot tests
Test: art/tools/buildbot-build.sh --host -j60 && \
art/tools/run-libcore-tests.sh --mode=host --variant=X32
Change-Id: Ifa32927251fa944df7bf9704f8164083aeb557a1
Przemyslaw Szczepaniak [Mon, 8 Aug 2016 12:23:26 +0000 (12:23 +0000)]
Merge "Remove OldSystemTest#test_load from known failures."
Vladimir Marko [Mon, 8 Aug 2016 11:08:06 +0000 (12:08 +0100)]
ARM/ARM64: Improve Mterp */lit8 assembly.
Embed shifts in operations when possible. Use UBFX for shift
distance extraction - for ARM this saves an instruction, for
ARM64 this just improves readability as the reader doesn't
need to know that the higher bits are unused by shifts.
Test: Run ART test suite on Nexus 9.
Change-Id: I5666f3eaded618d3f6cb754c4a431fd9548e746d
Przemyslaw Szczepaniak [Mon, 8 Aug 2016 10:20:07 +0000 (11:20 +0100)]
Remove OldSystemTest#test_load from known failures.
Test: libcore.java.lang.OldSystemTest
Bug:
26326992
Change-Id: Ic77dab37c05044790278407867339a198e8be9a8