OSDN Git Service

android-x86/art.git
7 years agoMerge "Fix run_java_fuzz_test.py imports"
Treehugger Robot [Thu, 15 Sep 2016 21:29:35 +0000 (21:29 +0000)]
Merge "Fix run_java_fuzz_test.py imports"

7 years agoMerge "Minor edits in javafuzz"
Treehugger Robot [Thu, 15 Sep 2016 19:42:30 +0000 (19:42 +0000)]
Merge "Minor edits in javafuzz"

7 years agoFix run_java_fuzz_test.py imports
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

7 years agoMerge "Fix google-explicit-constructor warnings in art."
Chih-hung Hsieh [Thu, 15 Sep 2016 18:16:43 +0000 (18:16 +0000)]
Merge "Fix google-explicit-constructor warnings in art."

7 years agoMinor edits in javafuzz
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

7 years agoMerge "Fix moving GC bugs in entrypoints"
Mathieu Chartier [Thu, 15 Sep 2016 17:53:12 +0000 (17:53 +0000)]
Merge "Fix moving GC bugs in entrypoints"

7 years agoMerge "Added ability to generate last-value of linear induction. Also added utility...
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."

7 years agoMerge "Integrate bisection search with javafuzz"
Treehugger Robot [Thu, 15 Sep 2016 17:15:50 +0000 (17:15 +0000)]
Merge "Integrate bisection search with javafuzz"

7 years agoMerge "ARM: Try to emit branches early to save memory."
Treehugger Robot [Thu, 15 Sep 2016 16:25:58 +0000 (16:25 +0000)]
Merge "ARM: Try to emit branches early to save memory."

7 years agoFix google-explicit-constructor warnings in art.
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

7 years agoAdded ability to generate last-value of linear induction.
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

7 years agoARM: Try to emit branches early to save memory.
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

7 years agoMerge "Revert "Revert "Re-apply "Cleanup run-test and Makefile around boot image...
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.""""

7 years agoMerge "MIPS: Enable the ComparisonsLong test in the code generator test."
Treehugger Robot [Thu, 15 Sep 2016 10:46:43 +0000 (10:46 +0000)]
Merge "MIPS: Enable the ComparisonsLong test in the code generator test."

7 years agoRevert "Revert "Re-apply "Cleanup run-test and Makefile around boot image and PIC."""
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

7 years agoMerge "Add missing OVERRIDE qualifiers in code generators."
Roland Levillain [Thu, 15 Sep 2016 09:21:20 +0000 (09:21 +0000)]
Merge "Add missing OVERRIDE qualifiers in code generators."

7 years agoMerge "Move ArrayRef to runtime/base"
David Brazdil [Thu, 15 Sep 2016 09:14:49 +0000 (09:14 +0000)]
Merge "Move ArrayRef to runtime/base"

7 years agoMerge "Fix dexlist_test"
Treehugger Robot [Thu, 15 Sep 2016 09:09:34 +0000 (09:09 +0000)]
Merge "Fix dexlist_test"

7 years agoMerge "Log PPID when running dex2oat"
Treehugger Robot [Thu, 15 Sep 2016 01:23:13 +0000 (01:23 +0000)]
Merge "Log PPID when running dex2oat"

7 years agoFix dexlist_test
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

7 years agoFix moving GC bugs in entrypoints
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

7 years agoLog PPID when running dex2oat
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

7 years agoMIPS: Enable the ComparisonsLong test in the code generator test.
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

7 years agoMerge "Make LinearizeGraph() public (and move it to nodes files)"
Treehugger Robot [Wed, 14 Sep 2016 22:46:56 +0000 (22:46 +0000)]
Merge "Make LinearizeGraph() public (and move it to nodes files)"

7 years agoMerge "jni: Update VIXL macro assembler to have vmovdrr/vmovsr support"
Treehugger Robot [Wed, 14 Sep 2016 22:29:19 +0000 (22:29 +0000)]
Merge "jni: Update VIXL macro assembler to have vmovdrr/vmovsr support"

7 years agoIntegrate bisection search with javafuzz
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

7 years agoMake LinearizeGraph() public (and move it to nodes files)
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

7 years agojni: Update VIXL macro assembler to have vmovdrr/vmovsr support
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

7 years agoMove ArrayRef to runtime/base
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

7 years agoAdd missing OVERRIDE qualifiers in code generators.
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

7 years agoMerge "Make ScopedAssertNoThreadSuspension no overhead for non-debug"
Mathieu Chartier [Wed, 14 Sep 2016 16:55:56 +0000 (16:55 +0000)]
Merge "Make ScopedAssertNoThreadSuspension no overhead for non-debug"

7 years agoMerge "Update art to use hooks instead of customizer"
Colin Cross [Wed, 14 Sep 2016 16:50:18 +0000 (16:50 +0000)]
Merge "Update art to use hooks instead of customizer"

7 years agoMerge "ARM/ARM64: Fix throwing entrypoints to call runtime handlers."
Treehugger Robot [Wed, 14 Sep 2016 16:36:35 +0000 (16:36 +0000)]
Merge "ARM/ARM64: Fix throwing entrypoints to call runtime handlers."

7 years agoMerge "Separate annotations from dexfile reading."
Aart Bik [Wed, 14 Sep 2016 15:55:07 +0000 (15:55 +0000)]
Merge "Separate annotations from dexfile reading."

7 years agoSeparate 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

7 years agoMerge "MIPS32: Implement table-based packed switch"
Treehugger Robot [Wed, 14 Sep 2016 15:01:23 +0000 (15:01 +0000)]
Merge "MIPS32: Implement table-based packed switch"

7 years agoARM/ARM64: Fix throwing entrypoints to call runtime handlers.
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

7 years agoMerge "Remove ThrowNoSuchMethod entrypoint."
Treehugger Robot [Wed, 14 Sep 2016 13:42:12 +0000 (13:42 +0000)]
Merge "Remove ThrowNoSuchMethod entrypoint."

7 years agoRemove 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

7 years agoMerge "Revert "Revert "Use implicit null checks inside try blocks."""
Treehugger Robot [Wed, 14 Sep 2016 11:16:24 +0000 (11:16 +0000)]
Merge "Revert "Revert "Use implicit null checks inside try blocks."""

7 years agoRevert "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

7 years agoMerge "Make dex2oat art_cc_binary instead of just cc_binary."
Nicolas Geoffray [Wed, 14 Sep 2016 09:30:53 +0000 (09:30 +0000)]
Merge "Make dex2oat art_cc_binary instead of just cc_binary."

7 years agoMake 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

7 years agoMIPS32: Implement table-based packed switch
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

7 years agoMerge "Fix mac build"
Treehugger Robot [Wed, 14 Sep 2016 01:57:44 +0000 (01:57 +0000)]
Merge "Fix mac build"

7 years agoMerge "Add test dependency on dexlist"
Treehugger Robot [Wed, 14 Sep 2016 01:55:12 +0000 (01:55 +0000)]
Merge "Add test dependency on dexlist"

7 years agoAdd 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

7 years agoFix mac build
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

7 years agoMerge "Fix mac build"
Treehugger Robot [Tue, 13 Sep 2016 22:44:00 +0000 (22:44 +0000)]
Merge "Fix mac build"

7 years agoMake ScopedAssertNoThreadSuspension no overhead for non-debug
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

7 years agoMerge "String Compression (interpreter only) bug fix"
Treehugger Robot [Tue, 13 Sep 2016 22:14:24 +0000 (22:14 +0000)]
Merge "String Compression (interpreter only) bug fix"

7 years agoMerge "Revert "Re-apply "Cleanup run-test and Makefile around boot image and PIC."""
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."""

7 years agoFix mac build
Colin Cross [Tue, 13 Sep 2016 21:07:00 +0000 (14:07 -0700)]
Fix mac build

Change-Id: Ic3e74f96645384c0cec3aa5156f4ead8912f3be2

7 years agoUpdate art to use hooks instead of customizer
Colin Cross [Tue, 13 Sep 2016 20:41:03 +0000 (13:41 -0700)]
Update art to use hooks instead of customizer

Change-Id: I46de5ea6ffbc0e32a0b306b8fe82b66b986e33cd

7 years agoMerge "Convert more of art to Android.bp"
Colin Cross [Tue, 13 Sep 2016 20:40:05 +0000 (20:40 +0000)]
Merge "Convert more of art to Android.bp"

7 years agoMerge "Add more logging for checking in to-space for CC copy"
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"

7 years agoRevert "Re-apply "Cleanup run-test and Makefile around boot image and PIC.""
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

7 years agoAdd more logging for checking in to-space for CC copy
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

7 years agoMerge "ART: Rearrange some JVMTI headers"
Treehugger Robot [Tue, 13 Sep 2016 17:59:55 +0000 (17:59 +0000)]
Merge "ART: Rearrange some JVMTI headers"

7 years agoART: 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

7 years agoMerge "Re-apply "Cleanup run-test and Makefile around boot image and PIC.""
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.""

7 years agoMerge "ART: Remove LogSeverity NONE"
Treehugger Robot [Tue, 13 Sep 2016 15:30:49 +0000 (15:30 +0000)]
Merge "ART: Remove LogSeverity NONE"

7 years agoRe-apply "Cleanup run-test and Makefile around boot image and PIC."
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

7 years agoMerge "New workaround for chromium buildbot."
Nicolas Geoffray [Tue, 13 Sep 2016 13:13:45 +0000 (13:13 +0000)]
Merge "New workaround for chromium buildbot."

7 years agoNew 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

7 years agoMerge "Workaround for repo incompatibilities on buildbot."
Nicolas Geoffray [Tue, 13 Sep 2016 12:53:18 +0000 (12:53 +0000)]
Merge "Workaround for repo incompatibilities on buildbot."

7 years agoWorkaround 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

7 years agoMerge "Allow for testing alternative code generators in codegen_test.cc"
Roland Levillain [Tue, 13 Sep 2016 09:36:27 +0000 (09:36 +0000)]
Merge "Allow for testing alternative code generators in codegen_test.cc"

7 years agoMerge "Track libcore Executable.getParameter() changes"
Neil Fuller [Tue, 13 Sep 2016 09:02:35 +0000 (09:02 +0000)]
Merge "Track libcore Executable.getParameter() changes"

7 years agoMerge "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n"
Dan Willemsen [Tue, 13 Sep 2016 03:47:01 +0000 (03:47 +0000)]
Merge "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n"

7 years agoART: Remove LogSeverity NONE
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

7 years agoMerge "Add a debug check for unsaved callee-save register for diagnosis."
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."

7 years agoMerge "ART: Remove libart from disassembler"
Treehugger Robot [Tue, 13 Sep 2016 02:26:49 +0000 (02:26 +0000)]
Merge "ART: Remove libart from disassembler"

7 years agoMerge "ART: Remove unnecessary file from vdex"
Andreas Gampe [Mon, 12 Sep 2016 23:45:53 +0000 (23:45 +0000)]
Merge "ART: Remove unnecessary file from vdex"

7 years agoART: Remove libart from disassembler
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

7 years agoConvert more of art to Android.bp
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

7 years agoART: Remove unnecessary file from vdex
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

7 years agoMerge "ART: Add generic system-weak holder infrastructure"
Andreas Gampe [Mon, 12 Sep 2016 23:18:38 +0000 (23:18 +0000)]
Merge "ART: Add generic system-weak holder infrastructure"

7 years agoMerge "Revert "Use implicit null checks inside try blocks.""
Nicolas Geoffray [Mon, 12 Sep 2016 22:07:09 +0000 (22:07 +0000)]
Merge "Revert "Use implicit null checks inside try blocks.""

7 years agoRevert "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

7 years agoRename libicuuc-host/libicui18n-host to libicuuc/libicui18n
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

7 years agoART: Add generic system-weak holder infrastructure
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

7 years agoMerge "Remove custom CheckCast slow path caller saves for Baker CC."
Vladimir Marko [Mon, 12 Sep 2016 19:41:22 +0000 (19:41 +0000)]
Merge "Remove custom CheckCast slow path caller saves for Baker CC."

7 years agoAdd a debug check for unsaved callee-save register for diagnosis.
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

7 years agoMerge "Fix run-test after introduction of VDEX"
David Brazdil [Mon, 12 Sep 2016 17:59:03 +0000 (17:59 +0000)]
Merge "Fix run-test after introduction of VDEX"

7 years agoFix 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

7 years agoRemove custom CheckCast slow path caller saves for Baker CC.
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

7 years agoMerge "Use implicit null checks inside try blocks."
Treehugger Robot [Mon, 12 Sep 2016 15:48:22 +0000 (15:48 +0000)]
Merge "Use implicit null checks inside try blocks."

7 years agoMerge "Try to avoid allocation when interning strings."
Vladimir Marko [Mon, 12 Sep 2016 15:03:45 +0000 (15:03 +0000)]
Merge "Try to avoid allocation when interning strings."

7 years agoMerge "Introduce VDEX file, use it for DEX files"
David Brazdil [Mon, 12 Sep 2016 14:57:19 +0000 (14:57 +0000)]
Merge "Introduce VDEX file, use it for DEX files"

7 years agoUse implicit null checks inside try blocks.
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

7 years agoIntroduce VDEX file, use it for DEX files
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

7 years agoMerge "Squashed commit of the following:"
Nicolas Geoffray [Mon, 12 Sep 2016 13:28:51 +0000 (13:28 +0000)]
Merge "Squashed commit of the following:"

7 years agoSquashed 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

7 years agoMerge "MIPS64: Sign-extend results in art_quick_get32_static/instance"
Treehugger Robot [Mon, 12 Sep 2016 11:37:04 +0000 (11:37 +0000)]
Merge "MIPS64: Sign-extend results in art_quick_get32_static/instance"

7 years agoMerge "Blacklist failing test after critical JNI changes."
Nicolas Geoffray [Mon, 12 Sep 2016 09:22:18 +0000 (09:22 +0000)]
Merge "Blacklist failing test after critical JNI changes."

7 years agoBlacklist failing test after critical JNI changes.
Nicolas Geoffray [Mon, 12 Sep 2016 09:21:08 +0000 (10:21 +0100)]
Blacklist failing test after critical JNI changes.

Change-Id: Ia525d12ba0a223ee3dfc4b095e0fe045271649cb

7 years agoMerge "Update test and dependencies after boot image changes."
Nicolas Geoffray [Mon, 12 Sep 2016 09:04:28 +0000 (09:04 +0000)]
Merge "Update test and dependencies after boot image changes."

7 years agoUpdate test and dependencies after boot image changes.
Nicolas Geoffray [Mon, 12 Sep 2016 08:53:53 +0000 (09:53 +0100)]
Update test and dependencies after boot image changes.

Change-Id: Ia7862e0f8b551c9a98bef8fbc350761c6d931f0c

7 years agoMerge "Re-enable boot image direct string loads for read barriers"
Treehugger Robot [Mon, 12 Sep 2016 08:37:09 +0000 (08:37 +0000)]
Merge "Re-enable boot image direct string loads for read barriers"