OSDN Git Service
Colin Cross [Thu, 15 Sep 2016 23:24:51 +0000 (16:24 -0700)]
Fix mac build
I accidentally dropped the hunks that disabled the mac build when
rebasing.
Change-Id: I412325f71c4bfde7a357b50daeb966e6db32c388
Colin Cross [Thu, 15 Sep 2016 21:47:07 +0000 (21:47 +0000)]
Merge changes from topic 'art_tests'
* changes:
Convert art gtests to Android.bp
Convert libart-gtest to Android.bp
Treehugger Robot [Thu, 15 Sep 2016 21:29:35 +0000 (21:29 +0000)]
Merge "Fix run_java_fuzz_test.py imports"
Treehugger Robot [Thu, 15 Sep 2016 19:42:30 +0000 (19:42 +0000)]
Merge "Minor edits in javafuzz"
Wojciech Staszkiewicz [Thu, 15 Sep 2016 18:41:16 +0000 (11:41 -0700)]
Fix run_java_fuzz_test.py imports
Make imports works independently of directory the tool is called
from.
Test: run_java_fuzz_test.py
Change-Id: I28cd875948e3e5e58358ecfd6f41e63b808172c9
Colin Cross [Mon, 12 Sep 2016 22:37:10 +0000 (15:37 -0700)]
Convert art gtests to Android.bp
This splits the compilation and running of the art gtests into two
separate locations. The tests are now compiled in multiple Android.bp
modules in each directory. art.go collects the installed locations of
each test and exports it as make variables. art/build/Android.gtest.mk
converts the list into the rules to run the tests.
This has a few changes in behavior:
- The rules to build tests are now always defined, and will build as
part of mmma art or make checkbuild.
- Host tests are no longer installed into out/host/linux-x86/bin, they
are in out/host/linux-x86/nativetest[64]/<module name>/<test name>
- Target tests are now in
/data/nativetest[64]/art/<arch>/<module name>/<test name>
Test: mmma -j art
Test: m -j test-art-host
Test: m -j test-art-target
Change-Id: Iabcd99d43890e6b693688422b07a283c3226a496
Colin Cross [Mon, 12 Sep 2016 21:35:39 +0000 (14:35 -0700)]
Convert libart-gtest to Android.bp
Change-Id: Ibea17e3e002e6ad3f82158cd3c69d087fa9b15c9
Chih-hung Hsieh [Thu, 15 Sep 2016 18:16:43 +0000 (18:16 +0000)]
Merge "Fix google-explicit-constructor warnings in art."
Aart Bik [Thu, 15 Sep 2016 17:42:02 +0000 (10:42 -0700)]
Minor edits in javafuzz
Rationale:
Missing newline in run script. Updated README with caps for args.
Change-Id: Ic8a46ab5812049401c00d7d37119bfc4034fe2d6
Tests: run_java_fuzz_test.py
Mathieu Chartier [Thu, 15 Sep 2016 17:53:12 +0000 (17:53 +0000)]
Merge "Fix moving GC bugs in entrypoints"
Treehugger Robot [Thu, 15 Sep 2016 17:34:22 +0000 (17:34 +0000)]
Merge "Added ability to generate last-value of linear induction. Also added utility to update fetches in induction nodes."
Treehugger Robot [Thu, 15 Sep 2016 17:15:50 +0000 (17:15 +0000)]
Merge "Integrate bisection search with javafuzz"
Treehugger Robot [Thu, 15 Sep 2016 16:25:58 +0000 (16:25 +0000)]
Merge "ARM: Try to emit branches early to save memory."
Chih-Hung Hsieh [Thu, 1 Sep 2016 22:08:13 +0000 (15:08 -0700)]
Fix google-explicit-constructor warnings in art.
* Add explicit keyword to conversion constructors,
or NOLINT for implicit converters.
Bug:
28341362
Test: build with WITH_TIDY=1
Change-Id: I1e1ee2661812944904fedadeff97b620506db47d
Aart Bik [Fri, 9 Sep 2016 17:33:50 +0000 (10:33 -0700)]
Added ability to generate last-value of linear induction.
Also added utility to update fetches in induction nodes.
Rationale:
This is a first step towards the larger CL that introduces
a new loop optimization framework in the optimizing compiler
(see https://android-review.googlesource.com/#/c/271392/3).
Change-Id: Ibecd674c8146d9665340e68718c498555646129a
Tests: induction_var_range_test
Vladimir Marko [Tue, 13 Sep 2016 14:11:50 +0000 (15:11 +0100)]
ARM: Try to emit branches early to save memory.
Try to emit unexpanded branches when binding a Label to
reduce the memory needed for Fixup dependencies. We use
a simple heuristic to limit the time we spend trying
but this heuristic is enough to resolve all branches in
the emitted String.equals() intrinsic.
Test: Run ART test suite on host and Nexus 6.
Test: Manually check memory usage for a certain apk.
Bug:
28603175
Change-Id: I362e07c2c1285ff609cf8df0a00b6b420729b9ce
Nicolas Geoffray [Thu, 15 Sep 2016 11:42:30 +0000 (11:42 +0000)]
Merge "Revert "Revert "Re-apply "Cleanup run-test and Makefile around boot image and PIC.""""
Treehugger Robot [Thu, 15 Sep 2016 10:46:43 +0000 (10:46 +0000)]
Merge "MIPS: Enable the ComparisonsLong test in the code generator test."
Nicolas Geoffray [Wed, 14 Sep 2016 12:33:34 +0000 (12:33 +0000)]
Revert "Revert "Re-apply "Cleanup run-test and Makefile around boot image and PIC."""
This reverts commit
8522758c5ef6050e355613630ff81c2b49373b44.
Change-Id: Ie18417bd3d528673e3da39d92f43f20b853facda
Roland Levillain [Thu, 15 Sep 2016 09:21:20 +0000 (09:21 +0000)]
Merge "Add missing OVERRIDE qualifiers in code generators."
David Brazdil [Thu, 15 Sep 2016 09:14:49 +0000 (09:14 +0000)]
Merge "Move ArrayRef to runtime/base"
Treehugger Robot [Thu, 15 Sep 2016 09:09:34 +0000 (09:09 +0000)]
Merge "Fix dexlist_test"
Treehugger Robot [Thu, 15 Sep 2016 01:23:13 +0000 (01:23 +0000)]
Merge "Log PPID when running dex2oat"
Colin Cross [Wed, 14 Sep 2016 20:07:27 +0000 (13:07 -0700)]
Fix dexlist_test
xbin is deprecated, dexlist installs to /system/bin now.
Bug:
31469510
Test: m test-art-target-gtest-dexlist_test
Change-Id: I352ae9eaaf2f9e4ce6682c5022c138b07d29ccca
Mathieu Chartier [Tue, 13 Sep 2016 20:41:24 +0000 (13:41 -0700)]
Fix moving GC bugs in entrypoints
In FindMethodFromCode, there was missing handles for objects used
after a suspend point (ResolveType).
For check_jni, JniMethodEndWithReferenceHandleResult did not
handlarize the return value when calling CheckReferenceResult.
For CheckReferenceResult, the argument was not in a handle.
Bug:
31458474
Change-Id: I06617fc63f1fb63d7c13ad4245223a8c54fa4b98
Wojciech Staszkiewicz [Tue, 13 Sep 2016 19:06:36 +0000 (12:06 -0700)]
Log PPID when running dex2oat
Log parent's pid in dex2oat. Logging happens only in verbose
compiler mode.
This can be used to find out which process executed a dex2oat
instance.
Test: m test-art-host
Change-Id: I49a139ed39a2454649f21275d6be860cbab96f55
Alexey Frunze [Wed, 14 Sep 2016 22:52:03 +0000 (15:52 -0700)]
MIPS: Enable the ComparisonsLong test in the code generator test.
Test: test-art-host-gtest-codegen_test
Test: test-art-target-gtest-codegen_test (MIPS32R2 & R6, MIPS64)
Change-Id: Ieae0fdb2ed30f262baac0eb7c6b658341c511a47
Treehugger Robot [Wed, 14 Sep 2016 22:46:56 +0000 (22:46 +0000)]
Merge "Make LinearizeGraph() public (and move it to nodes files)"
Treehugger Robot [Wed, 14 Sep 2016 22:29:19 +0000 (22:29 +0000)]
Merge "jni: Update VIXL macro assembler to have vmovdrr/vmovsr support"
Wojciech Staszkiewicz [Thu, 8 Sep 2016 01:52:52 +0000 (18:52 -0700)]
Integrate bisection search with javafuzz
This CL makes javafuzz call bisection search on failing tests.
Three switches were added to bisection_search, --logfile which can be
used to provide custom logfile destination, --never-clean which
disables automatic cleanup of bisection directory and --timeout
which allows user to specify maximum time in seconds to wait for
a single test run.
ITestEnv subclasses were updated to integrate with javafuzz.
run_java_fuzz_test.py is now reusing code from bisection_search
module. It also better matches python style guidelines.
Change-Id: Ie41653b045469f2ceb352fd35fb4099842bb5bc3
Aart Bik [Wed, 14 Sep 2016 17:52:13 +0000 (10:52 -0700)]
Make LinearizeGraph() public (and move it to nodes files)
Rationale:
It is strange that HLinearOrderIterator is defined (and visible)
in nodes.h, but clients have no way to build this order. This CL
makes the building available at the usual place.
Change-Id: Ib66f2edf6dfc8edd6b429bd4bea3ac7e37440b28
Tests: m test-art
Igor Murashkin [Wed, 14 Sep 2016 20:36:16 +0000 (13:36 -0700)]
jni: Update VIXL macro assembler to have vmovdrr/vmovsr support
This is sometimes used by @CriticalNative JNI compiler
to avoid spilling the user native function pointer to the stack.
(Also fixes the failing target jni_compiler_test32)
Test: make -j test-art-target-gtest-jni_compiler_test32
Bug:
31469040
Change-Id: I04a5ec20272fe89e613959a37da1cb472c4ebdf9
David Brazdil [Wed, 14 Sep 2016 15:53:55 +0000 (16:53 +0100)]
Move ArrayRef to runtime/base
Will be used in upcoming CLs regarding VDEX and VerifierDeps.
Test: m test-art-host
Change-Id: I68e611a4a52246c2bdf45eab7c61f3212908afd4
Roland Levillain [Wed, 14 Sep 2016 18:26:48 +0000 (19:26 +0100)]
Add missing OVERRIDE qualifiers in code generators.
Test: mmma art
Change-Id: I91d0a2dc23dc8d63a9bb3607eb1c1517eabaeb1f
Mathieu Chartier [Wed, 14 Sep 2016 16:55:56 +0000 (16:55 +0000)]
Merge "Make ScopedAssertNoThreadSuspension no overhead for non-debug"
Colin Cross [Wed, 14 Sep 2016 16:50:18 +0000 (16:50 +0000)]
Merge "Update art to use hooks instead of customizer"
Treehugger Robot [Wed, 14 Sep 2016 16:36:35 +0000 (16:36 +0000)]
Merge "ARM/ARM64: Fix throwing entrypoints to call runtime handlers."
Aart Bik [Wed, 14 Sep 2016 15:55:07 +0000 (15:55 +0000)]
Merge "Separate annotations from dexfile reading."
David Sehr [Tue, 13 Sep 2016 15:58:35 +0000 (08:58 -0700)]
Separate annotations from dexfile reading.
Bug:
22322814
Change-Id: I867d66da407dd80394a10d19903ebbc1ec3986ff
Test: test-art
Treehugger Robot [Wed, 14 Sep 2016 15:01:23 +0000 (15:01 +0000)]
Merge "MIPS32: Implement table-based packed switch"
Vladimir Marko [Wed, 14 Sep 2016 09:29:18 +0000 (10:29 +0100)]
ARM/ARM64: Fix throwing entrypoints to call runtime handlers.
Test: Run ART test suite including gcstress on Nexus 9.
Bug:
31468464
Change-Id: I2521675125d243be3168a2e87b70185791322b42
Treehugger Robot [Wed, 14 Sep 2016 13:42:12 +0000 (13:42 +0000)]
Merge "Remove ThrowNoSuchMethod entrypoint."
Vladimir Marko [Wed, 14 Sep 2016 11:49:57 +0000 (12:49 +0100)]
Remove ThrowNoSuchMethod entrypoint.
Run ART test suite on host and Nexus 6.
Bug:
31464666
Change-Id: I5aa737726031adae0b132f759cf802a93d581a7f
Treehugger Robot [Wed, 14 Sep 2016 11:16:24 +0000 (11:16 +0000)]
Merge "Revert "Revert "Use implicit null checks inside try blocks."""
Vladimir Marko [Tue, 13 Sep 2016 11:56:01 +0000 (11:56 +0000)]
Revert "Revert "Use implicit null checks inside try blocks.""
Fix implicit checks in try blocks to emit stack maps.
Fix arm64 null expection from signal entrypoint to call
the runtime handler instead or simply jumping there.
On Nexus 9, AOSP ToT, the boot.oat size reduction is
prebuilt multi-part boot image:
- 32-bit boot.oat: -448KiB (-1.3%)
- 64-bit boot.oat: -528KiB (-1.2%)
on-device built single boot image:
- 32-bit boot.oat: -448KiB (-1.4%)
- 64-bit boot.oat: -528KiB (-1.3%)
Note that the oat files no longer contain dex files which
have been moved to vdex, so the percentages are not directly
comparable with the those reported in the original commit.
Test: Run ART test suite including gc-stress on host and Nexus 9.
Bug:
30212852
Bug:
31468464
This reverts commit
0719b5b9b458cb3eb9f0823f0dacdfe1a71214dd.
Change-Id: If8a9da8c11adf2aad203e93b6684ce16ed776285
Nicolas Geoffray [Wed, 14 Sep 2016 09:30:53 +0000 (09:30 +0000)]
Merge "Make dex2oat art_cc_binary instead of just cc_binary."
Nicolas Geoffray [Wed, 14 Sep 2016 09:26:56 +0000 (10:26 +0100)]
Make dex2oat art_cc_binary instead of just cc_binary.
This to get customized properties like CUSTOM_TARGET_LINKER.
Change-Id: Ifa25c52faa40fa6da40b614f664ab24ac1b7356a
Alexey Frunze [Sat, 10 Sep 2016 09:32:44 +0000 (02:32 -0700)]
MIPS32: Implement table-based packed switch
Test: booted MIPS32R2 in QEMU
Test: test-art-target-run-test-optimizing (MIPS32R2) on CI20
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: test-art-target-run-test-optimizing (MIPS32R6) in QEMU
Test: test-art-host-gtest
Change-Id: I2e1a65ff1ba9406b84351ba7998f853b1ce4aef9
Treehugger Robot [Wed, 14 Sep 2016 01:57:44 +0000 (01:57 +0000)]
Merge "Fix mac build"
Treehugger Robot [Wed, 14 Sep 2016 01:55:12 +0000 (01:55 +0000)]
Merge "Add test dependency on dexlist"
Colin Cross [Tue, 13 Sep 2016 23:47:02 +0000 (16:47 -0700)]
Add test dependency on dexlist
dexlist_test depends on dexlist, add a new list of non-debuggable
executables for tests to depend on.
Bug:
31469510
Change-Id: I3e8f5798be523753ed8eda6cbbabe3251436877f
Colin Cross [Tue, 13 Sep 2016 23:55:55 +0000 (16:55 -0700)]
Fix mac build
-z muldefs doesn't exist on mac. It is only necessary for dex2oats,
which doesn't build on mac, move it from the defaults to the dex2oats
targets.
Change-Id: I47f35d159fc0602f54412e12ef44798ca4afa4de
Treehugger Robot [Tue, 13 Sep 2016 22:44:00 +0000 (22:44 +0000)]
Merge "Fix mac build"
Mathieu Chartier [Tue, 13 Sep 2016 19:09:38 +0000 (12:09 -0700)]
Make ScopedAssertNoThreadSuspension no overhead for non-debug
Previously it required Thread::Current() which may not be free.
The plan is to add a lot more ScopedAssertNoThreadSuspension in
the codebase.
Also cleaned up callers.
Bug:
31458474
Change-Id: I5a1621a5435476504d22266cc01a9bf26aab7568
Treehugger Robot [Tue, 13 Sep 2016 22:14:24 +0000 (22:14 +0000)]
Merge "String Compression (interpreter only) bug fix"
Treehugger Robot [Tue, 13 Sep 2016 21:20:21 +0000 (21:20 +0000)]
Merge "Revert "Re-apply "Cleanup run-test and Makefile around boot image and PIC."""
Colin Cross [Tue, 13 Sep 2016 21:07:00 +0000 (14:07 -0700)]
Fix mac build
Change-Id: Ic3e74f96645384c0cec3aa5156f4ead8912f3be2
Colin Cross [Tue, 13 Sep 2016 20:41:03 +0000 (13:41 -0700)]
Update art to use hooks instead of customizer
Change-Id: I46de5ea6ffbc0e32a0b306b8fe82b66b986e33cd
Colin Cross [Tue, 13 Sep 2016 20:40:05 +0000 (20:40 +0000)]
Merge "Convert more of art to Android.bp"
Treehugger Robot [Tue, 13 Sep 2016 19:54:55 +0000 (19:54 +0000)]
Merge "Add more logging for checking in to-space for CC copy"
Hiroshi Yamauchi [Tue, 13 Sep 2016 19:37:22 +0000 (19:37 +0000)]
Revert "Re-apply "Cleanup run-test and Makefile around boot image and PIC.""
This reverts commit
9b5515ebb4502119c44e898b05c69312a45c5f49.
Breaks some gtests.
Change-Id: Ic9c9061b05219f19d5c7713ce0239e60c9d6e287
Mathieu Chartier [Tue, 13 Sep 2016 17:02:48 +0000 (10:02 -0700)]
Add more logging for checking in to-space for CC copy
Trying to debug occasionally failing CHECK.
Bug:
31423258
Test: test-art-host CC baker
Change-Id: I00963eb4f529811090e485184bb48a28287e77d3
Treehugger Robot [Tue, 13 Sep 2016 17:59:55 +0000 (17:59 +0000)]
Merge "ART: Rearrange some JVMTI headers"
Andreas Gampe [Tue, 13 Sep 2016 16:05:59 +0000 (09:05 -0700)]
ART: Rearrange some JVMTI headers
Move around pieces to prepare for multiple cc files.
Bug:
31455788
Test: m test-art-host
Change-Id: I4e2dfccbca3b51c72ad8b1f1857d8eebc1ec43a2
Treehugger Robot [Tue, 13 Sep 2016 15:36:26 +0000 (15:36 +0000)]
Merge "Re-apply "Cleanup run-test and Makefile around boot image and PIC.""
Treehugger Robot [Tue, 13 Sep 2016 15:30:49 +0000 (15:30 +0000)]
Merge "ART: Remove LogSeverity NONE"
Nicolas Geoffray [Mon, 12 Sep 2016 15:08:02 +0000 (16:08 +0100)]
Re-apply "Cleanup run-test and Makefile around boot image and PIC."
This reverts commit
1ba223b2e6dab206b02613bc8b523553477fc4a0.
Change-Id: I0048afcefc5b654b62ddaf3c0d45ab201e4d3027
Nicolas Geoffray [Tue, 13 Sep 2016 13:13:45 +0000 (13:13 +0000)]
Merge "New workaround for chromium buildbot."
Nicolas Geoffray [Tue, 13 Sep 2016 13:08:31 +0000 (14:08 +0100)]
New workaround for chromium buildbot.
Turns out once repo is init, doing a repo init/sync with another
repo version has no effect.
So instead just do the Android specific instructions
that the chromium repo seems to not do.
Change-Id: I0c42c4c2d61af54760a505a63554434f65c381c1
Nicolas Geoffray [Tue, 13 Sep 2016 12:53:18 +0000 (12:53 +0000)]
Merge "Workaround for repo incompatibilities on buildbot."
Nicolas Geoffray [Tue, 13 Sep 2016 12:36:32 +0000 (13:36 +0100)]
Workaround for repo incompatibilities on buildbot.
Change-Id: Icd195f423e2e495d19ba35ed1d097e0f7d0a18ba
Roland Levillain [Tue, 13 Sep 2016 09:36:27 +0000 (09:36 +0000)]
Merge "Allow for testing alternative code generators in codegen_test.cc"
Neil Fuller [Tue, 13 Sep 2016 09:02:35 +0000 (09:02 +0000)]
Merge "Track libcore Executable.getParameter() changes"
Dan Willemsen [Tue, 13 Sep 2016 03:47:01 +0000 (03:47 +0000)]
Merge "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n"
Andreas Gampe [Tue, 13 Sep 2016 03:22:19 +0000 (20:22 -0700)]
ART: Remove LogSeverity NONE
Remove non-standard severity, and instead use a new enum to
configure verifier logging.
Partially reverts commit
7fe30233d32a872f5349e921dba65bd767ad994b.
Bug:
31338270
Test: m test-art-host
Change-Id: If52ee23c4902fbf2dabe7b232f6742448764ff8c
Treehugger Robot [Tue, 13 Sep 2016 03:17:46 +0000 (03:17 +0000)]
Merge "Add a debug check for unsaved callee-save register for diagnosis."
Treehugger Robot [Tue, 13 Sep 2016 02:26:49 +0000 (02:26 +0000)]
Merge "ART: Remove libart from disassembler"
Andreas Gampe [Mon, 12 Sep 2016 23:45:53 +0000 (23:45 +0000)]
Merge "ART: Remove unnecessary file from vdex"
Andreas Gampe [Mon, 12 Sep 2016 23:22:43 +0000 (16:22 -0700)]
ART: Remove libart from disassembler
The disassembler now only requires the headers. Also remove liblog
dependency.
Bug:
15436106
Test: m test-art-host
Test: m test-art-host-gtest-oatdump_test
Test: m test-art-target-gtest-oatdump_test
Change-Id: Iecff5b7f8ffd81c89ea81a4de8bfab77b5c103a7
Colin Cross [Thu, 8 Sep 2016 19:52:18 +0000 (12:52 -0700)]
Convert more of art to Android.bp
Convert dex2oat, imgdiag, patchoat, and profman to Android.bp.
Test: m -j test-art-host
Test: mmma -j art
Change-Id: If2acd47189e5a944732c2c00c2bf31265f887161
Andreas Gampe [Mon, 12 Sep 2016 22:55:56 +0000 (15:55 -0700)]
ART: Remove unnecessary file from vdex
Don't store the file. The mem-map works without it.
Test: m
Test: m test-art-host
Test: device boots
Bug:
30937355
Bug:
31439377
Change-Id: Ie9579062c20ddd8dcfc612ccb614f0a0553d4fd9
Andreas Gampe [Mon, 12 Sep 2016 23:18:38 +0000 (23:18 +0000)]
Merge "ART: Add generic system-weak holder infrastructure"
Nicolas Geoffray [Mon, 12 Sep 2016 22:07:09 +0000 (22:07 +0000)]
Merge "Revert "Use implicit null checks inside try blocks.""
Nicolas Geoffray [Mon, 12 Sep 2016 22:05:33 +0000 (22:05 +0000)]
Revert "Use implicit null checks inside try blocks."
Fails gcstress tests.
This reverts commit
7aa7560683626c7893011271c241b3265ded1dc3.
Change-Id: I4f5c89048b9ffddbafa02f3001e329ff87058ca2
Dan Willemsen [Mon, 12 Sep 2016 21:33:43 +0000 (14:33 -0700)]
Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n
These modules can be named the same between the target and host
libraries, which simplifies references to them, particularly in
Soong.
To prevent accidentally loading the system copy of the library,
we still rename the installed name to be libicu*-host.so. But
modules do not need to know that in order to build against them.
Change-Id: Iede535d884a4b230ac511bae0d1687133f5801fe
Andreas Gampe [Fri, 9 Sep 2016 03:29:18 +0000 (20:29 -0700)]
ART: Add generic system-weak holder infrastructure
Add an "interface" for a generic system-weak holder that is
integrated with the well-known instances in Runtime. Add a
simple implementation handling synchronization.
Add a test.
Bug:
31385027
Test: m test-art-host-gtest-system_weak_test
Test: m ART_USE_READ_BARRIER=true test-art-host-gtest-system_weak_test
Test: m ART_DEFAULT_GC_TYPE=SS test-art-host-gtest-system_weak_test
Test: m ART_DEFAULT_GC_TYPE=GSS test-art-host-gtest-system_weak_test
Change-Id: I1100e2cbd9ee57860993d0039de73d197681c542
Vladimir Marko [Mon, 12 Sep 2016 19:41:22 +0000 (19:41 +0000)]
Merge "Remove custom CheckCast slow path caller saves for Baker CC."
Hiroshi Yamauchi [Mon, 12 Sep 2016 19:10:08 +0000 (12:10 -0700)]
Add a debug check for unsaved callee-save register for diagnosis.
Bug:
29231980
Bug:
12687968
Test: test-art-host with CC.
Change-Id: I385ce7712e63072a0664d86414605d23ef44401b
David Brazdil [Mon, 12 Sep 2016 17:59:03 +0000 (17:59 +0000)]
Merge "Fix run-test after introduction of VDEX"
David Brazdil [Mon, 12 Sep 2016 17:49:58 +0000 (18:49 +0100)]
Fix run-test after introduction of VDEX
Run-test 119-noimage-patchoat used to fail due to a codepath in
OatFile which allows to create an instance of the class from an
existing ElfFile instance. This patch updates the codepath to require
an existing VdexFile as well.
Test: art/test/run-test 119
Bug:
30937355
Change-Id: I8fd0e47f07921aaee999f73711766ada9c35d214
Vladimir Marko [Mon, 12 Sep 2016 17:11:28 +0000 (18:11 +0100)]
Remove custom CheckCast slow path caller saves for Baker CC.
For Baker CC, CheckCast has both a read-barrier marking slow
path and a pCheckCast slow path. When the latter is known to
leave the method, i.e. known to throw outside a try-block,
we do not need to save live registers for retrieval for the
exception delivery and since the read-barrier marking does
not need to save any registers either we were setting the
custom slow path caller saves to empty to avoid reserving
unnecessary spill space. Hovewer, this also leads to marking
live references in caller-save registers in the register
mask and while the read-barrier marking entrypoint doesn't
care, it causes a stack walk for the pCheckCast to try and
retrieve an unsaved register.
For the time being, revert to the default caller saves.
This is a partial revert of
https://android-review.googlesource.com/254920
Test: Run ART test suite on host and Nexus 9.
Bug:
29231980
Bug:
30212852
Change-Id: I4e22125f3d8903c97506aa2e6e66bea8e8e6baef
Treehugger Robot [Mon, 12 Sep 2016 15:48:22 +0000 (15:48 +0000)]
Merge "Use implicit null checks inside try blocks."
Vladimir Marko [Mon, 12 Sep 2016 15:03:45 +0000 (15:03 +0000)]
Merge "Try to avoid allocation when interning strings."
David Brazdil [Mon, 12 Sep 2016 14:57:19 +0000 (14:57 +0000)]
Merge "Introduce VDEX file, use it for DEX files"
Vladimir Marko [Wed, 7 Sep 2016 14:09:21 +0000 (15:09 +0100)]
Use implicit null checks inside try blocks.
Make implicit null check entrypoint save all registers, use
platform-specific approach to still pass the fault address.
Allow implicit null checks in try blocks.
On Nexus 9, AOSP ToT, the boot.oat size reduction is
prebuilt multi-part boot image:
- 32-bit boot.oat: -452KiB (-0.7%)
- 64-bit boot.oat: -482KiB (-0.7%)
on-device built single boot image:
- 32-bit boot.oat: -444KiB (-0.7%)
- 64-bit boot.oat: -488KiB (-0.7%)
Test: Run ART test suite on host and Nexus 9.
Test: Build aosp_mips64-eng.
Change-Id: I279f3ab57e2e2f338131c5cac45c51b673bdca19
David Brazdil [Thu, 1 Sep 2016 10:06:18 +0000 (11:06 +0100)]
Introduce VDEX file, use it for DEX files
This patch introduces a new output file called VDEX. In the future,
VDEX files will store pre-validated DEX files which do not need to be
re-extracted and re-verified when recompiling, e.g. due to new
profiling information or after a system update.
With this CL, the OatWriter writes DEX files into the VDEX and the
rest of its output into OAT. The OatFile class and related classes
are updated to load the VDEX at runtime and mmap the DEX file section
from it. Patchoat creates symlinks to the source VDEX files in the
target directory or copies the files if passed in as file descriptors.
The feature can be disabled by setting the environment variable
ART_ENABLE_VDEX to false.
Test: m test-art-host
Bug:
30937355
Change-Id: I54dcaececf6814c258c80524ec15e2e2ef69c8dd
Nicolas Geoffray [Mon, 12 Sep 2016 13:28:51 +0000 (13:28 +0000)]
Merge "Squashed commit of the following:"
Nicolas Geoffray [Mon, 12 Sep 2016 13:24:36 +0000 (14:24 +0100)]
Squashed commit of the following:
commit
487bc26b726a839b2e46424ee3779ac3bb2033f6
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Mon Sep 12 14:24:12 2016 +0100
Revert "Cleanup run-test and Makefile around boot image and PIC."
This reverts commit
8c9ccac080e98fc5f33ba940a1216e9c2cc079db.
commit
cefadb4b835390b508ae1d2b899f39f3769a593a
Author: Nicolas Geoffray <ngeoffray@google.com>
Date: Mon Sep 12 14:23:47 2016 +0100
Revert "Update test and dependencies after boot image changes."
This reverts commit
2a1a8d7fa450a8196a63afb3bf647b2bec723497.
Change-Id: I58731d845c1166406039a9b74c833d72a82c88fb
Treehugger Robot [Mon, 12 Sep 2016 11:37:04 +0000 (11:37 +0000)]
Merge "MIPS64: Sign-extend results in art_quick_get32_static/instance"
Nicolas Geoffray [Mon, 12 Sep 2016 09:22:18 +0000 (09:22 +0000)]
Merge "Blacklist failing test after critical JNI changes."