OSDN Git Service
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
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"
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
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."
Nicolas Geoffray [Mon, 12 Sep 2016 09:21:08 +0000 (10:21 +0100)]
Blacklist failing test after critical JNI changes.
Change-Id: Ia525d12ba0a223ee3dfc4b095e0fe045271649cb
Nicolas Geoffray [Mon, 12 Sep 2016 09:04:28 +0000 (09:04 +0000)]
Merge "Update 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
Treehugger Robot [Mon, 12 Sep 2016 08:37:09 +0000 (08:37 +0000)]
Merge "Re-enable boot image direct string loads for read barriers"
Nicolas Geoffray [Mon, 12 Sep 2016 08:19:21 +0000 (08:19 +0000)]
Merge "MIPS32: Properly handle doubles in GetRegisterIfAccessible"
Nicolas Geoffray [Mon, 12 Sep 2016 08:18:52 +0000 (08:18 +0000)]
Merge "Cleanup run-test and Makefile around boot image and PIC."
Nicolas Geoffray [Sat, 10 Sep 2016 08:28:15 +0000 (08:28 +0000)]
Merge "Get libgtest from libart-gtest."
Treehugger Robot [Sat, 10 Sep 2016 00:16:33 +0000 (00:16 +0000)]
Merge "test: Disable 004-JniTest for nodex2oat and JIT config"
Treehugger Robot [Fri, 9 Sep 2016 22:59:48 +0000 (22:59 +0000)]
Merge "Don't assume resolved classes are filled in for ResolvedFieldAccessTest"
Dan Albert [Fri, 9 Sep 2016 22:32:19 +0000 (15:32 -0700)]
Get libgtest from libart-gtest.
We can't link libgtest into both the tests and libart-gtest because
gtest has global data that causes ODR issues. Instead, link libgtest
*whole* into libart-gtest to be sure that we actually have enough to
gtest. Headers from LOCAL_WHOLE_STATIC_LIBRARIES are re-exported
automatically, which solves the initial problem I was here for.
Test: mma test-art-host-gtest
Bug: None
Change-Id: Icb985e070d8afb3e614b4e94714c61bc95e4e7fc
Igor Murashkin [Fri, 9 Sep 2016 22:04:27 +0000 (15:04 -0700)]
test: Disable 004-JniTest for nodex2oat and JIT config
These configs use generic jni, which is unsupported for @CriticalNative
Bug:
31400248
Change-Id: I77a2959e5657d6e0ed33e46e5179ad65342f30d5
Mathieu Chartier [Fri, 9 Sep 2016 00:34:25 +0000 (17:34 -0700)]
Don't assume resolved classes are filled in for ResolvedFieldAccessTest
The assumption that the dex cache type for class of the field is
resolved is not correct since FindClass does not fill in the
resolved type array. This resulted in crashes if dex_access_to ==
nullptr.
Also implemented for ResolvedMethodAccessTest
Bug:
31277064
Test: test-art-host CC baker, launch ZeroTouch with PGO.
(cherry picked from commit
c90450a201707111e33d6b6f37d431b201849a8b)
Change-Id: Id5e71ea0eced1b631a3bd7d297229a66cb190954
Nicolas Geoffray [Fri, 9 Sep 2016 20:38:51 +0000 (20:38 +0000)]
Merge "64bits codegens need to drag their 32bits equivalent."
Mathieu Chartier [Fri, 9 Sep 2016 19:49:55 +0000 (12:49 -0700)]
Re-enable boot image direct string loads for read barriers
Boot.oat code size with CC baker:
ARM32:
70775656 ->
69817028 (-1.35%)
ARM64:
80819424 ->
79417072 (-1.74%)
X86 unmeasured.
X86_64 unmeasured.
Performance unmeasured, should be faster.
Bug:
29516974
Test: test-art-host CC baker, N6P booting CC baker
Change-Id: I219faaca9ed17af81d2815fb5e124120f307af83
Treehugger Robot [Fri, 9 Sep 2016 20:03:14 +0000 (20:03 +0000)]
Merge "Include oatdump/Android.mk"
Alex Light [Fri, 9 Sep 2016 19:41:11 +0000 (19:41 +0000)]
Merge "Fix vtable corruption issue"
Igor Murashkin [Fri, 9 Sep 2016 19:33:51 +0000 (19:33 +0000)]
Merge "jni: Add @CriticalNative optimization to speed up JNI transitions"
Colin Cross [Fri, 9 Sep 2016 18:19:32 +0000 (11:19 -0700)]
Include oatdump/Android.mk
oatdump/Android.mk wasn't removed as part of the Android.bp conversion,
as it still contains custom targets like dump-oat-boot. Add it back to
the subdirs included by art/Android.mk. Also put back the
ART_DUMP_OAT_PATH variable used by the dump-oat-* targets.
Change-Id: If7086b48e268e3620a3377d0f37442673699ec26
Treehugger Robot [Fri, 9 Sep 2016 18:22:34 +0000 (18:22 +0000)]
Merge "Stop manually including gtest headers."
Treehugger Robot [Fri, 9 Sep 2016 18:18:33 +0000 (18:18 +0000)]
Merge "ART: Generate path to entrypoints in VisitLoadString for x86_64"
Igor Murashkin [Fri, 2 Sep 2016 00:00:24 +0000 (17:00 -0700)]
jni: Add @CriticalNative optimization to speed up JNI transitions
Change-Id: I963059ac3a72dd8e6a867596c356d7062deb6da7
Alex Light [Wed, 7 Sep 2016 19:04:20 +0000 (12:04 -0700)]
Fix vtable corruption issue
We were adding duplicate methods to the vtable in some cases where
default methods (and conflict methods) were used. This caused issues
where they were not correctly overridden in subclasses that implement
these methods directly. When overridden only one of the vtable entries
was updated meaning it was still possible to reach the overridden code
using a virtual call.
This change prevents the duplicate methods from being added to the
vtable in this circumstance. It also adds a debug check that ensures
that the vtable has no duplicates to prevent regressions.
Bug:
31280371
Test: mma test-art-host
Test: mma test-art-host-run-test-960-default-smali
Change-Id: I17d88fb8949c8d5d75b4de3c734fd98660b81e61
Christina Wadsworth [Wed, 31 Aug 2016 23:29:44 +0000 (16:29 -0700)]
ART: Generate path to entrypoints in VisitLoadString for x86_64
Instead of generating assembly to jump into the entrypoints with the
slow paths, generate in VisitLoadString, since we do this almost every
time right now.
Tests: test-art-host with CC baker
Change-Id: I91040b2549b88f4ddee20486836177364907f9f4
Mathieu Chartier [Fri, 9 Sep 2016 16:39:44 +0000 (16:39 +0000)]
Merge "ART: Generate path to entrypoints in VisitLoadString for x86"
Goran Jakovljevic [Fri, 9 Sep 2016 15:53:01 +0000 (17:53 +0200)]
MIPS64: Sign-extend results in art_quick_get32_static/instance
Return types of artGet32StaticFromCode and artGet32InstanceFromCode
are unsigned (size_t). On the other hand, managed code expects signed
32-bit values. This is problematic on MIPS64 which expects that all
integer type variables are properly sign-extended in registers.
This fixes test 529-checker-unresolved.
Test: mma -j2 test-art-target in QEMU
Change-Id: I70f53ded9bfa1cfd53bcc639fb4841192ee71b2b
Nicolas Geoffray [Fri, 9 Sep 2016 14:48:19 +0000 (15:48 +0100)]
64bits codegens need to drag their 32bits equivalent.
This to restore the previous (non-soong) build behavior.
Change-Id: Ie93c18db5522b889a44106cbb25c2a87f9e4a882
Treehugger Robot [Fri, 9 Sep 2016 14:24:00 +0000 (14:24 +0000)]
Merge "ARM64: Use macros for increasing and decreasing frame size."
Treehugger Robot [Fri, 9 Sep 2016 14:03:53 +0000 (14:03 +0000)]
Merge "Remove unnecessary `static` specifiers in `common_arm64.h`."
Nicolas Geoffray [Wed, 7 Sep 2016 15:02:15 +0000 (16:02 +0100)]
Cleanup run-test and Makefile around boot image and PIC.
- JIT boot image is interpret-only
- Default is PIC image
- "Default" compiler is gone.
test: m -j32 test-art-host-run-test (with different macro variants)
Change-Id: I547f4579fa08bbcb634b256125ca45d832dc1d6b
Treehugger Robot [Fri, 9 Sep 2016 11:35:09 +0000 (11:35 +0000)]
Merge "MIPS32: Implement branchless HCondition for floats"
Vladimir Marko [Fri, 9 Sep 2016 10:56:05 +0000 (11:56 +0100)]
ARM64: Use macros for increasing and decreasing frame size.
And fix saving/restoring CFI around returns.
Test: m test-art-target on Nexus9.
Change-Id: Iad94ca694ac899adec158ae79a931316a0be46f1
Goran Jakovljevic [Thu, 10 Dec 2015 10:44:50 +0000 (11:44 +0100)]
MIPS32: Properly handle doubles in GetRegisterIfAccessible
There was a problem with floating point registers and exception
handler. In optimizing compiler fpu registers are treated as 64-bit.
This is problematic since logic in GetRegisterIfAccessible doesn't
support 64-bit floating point registers.
This fixes tests:
510-checker-try-catch
534-checker-bce-deoptimization
Test: mma test-art-target on CI20 (mips32r2) and emulator (mips32r6)
Change-Id: I0f49c1c30f97077b82ad08fcc3cdb86a4877af23
Treehugger Robot [Fri, 9 Sep 2016 10:43:12 +0000 (10:43 +0000)]
Merge "Revert "Revert "Re-enable boot image string sharpening."""
Alexey Frunze [Wed, 7 Sep 2016 00:04:55 +0000 (17:04 -0700)]
MIPS32: Implement branchless HCondition for floats
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
Change-Id: Iec2f301c33bf9b9a2e16759633f8489a3e0bc46b
Vladimir Marko [Fri, 9 Sep 2016 09:16:31 +0000 (09:16 +0000)]
Revert "Revert "Re-enable boot image string sharpening.""
The reason for the revert was a transaction bug fixed by
https://android-review.googlesource.com/271008
Bug:
20323084
Bug:
31239436
This reverts commit
f508c565b13585a766719b87a00e3c2a4200abe0.
Change-Id: I2f5995b55ccbf58b888db3f0ab64d6186e400a92
Dan Albert [Fri, 9 Sep 2016 06:01:12 +0000 (23:01 -0700)]
Stop manually including gtest headers.
libgtest exports these.
Test: mm
Bug: http://b/
16574165
Change-Id: I4f6220c6d3fe67f4a21451d2f7e790705519d935
Treehugger Robot [Fri, 9 Sep 2016 03:37:55 +0000 (03:37 +0000)]
Merge "Make bisection search and javafuzz python modules"
Christina Wadsworth [Wed, 31 Aug 2016 23:26:01 +0000 (16:26 -0700)]
ART: Generate path to entrypoints in VisitLoadString for x86
Code size unmeasured, presumably ~-1%.
Generate code to go into string dex cache entrypoints in VisitLoadString
instead of with slow paths, since we now go into entrypoints almost
every time.
Change-Id: Ic4335a23934547737dbda12111f672da1e6c0ef7
Tests: test-art-host CC baker
Treehugger Robot [Fri, 9 Sep 2016 01:31:40 +0000 (01:31 +0000)]
Merge "Fix mac build"
Colin Cross [Thu, 8 Sep 2016 23:43:27 +0000 (16:43 -0700)]
Fix mac build
oatdumps used to only be built when ART_BUILD_HOST_STATIC was set,
which was never set on macs, disable oatdumps and oatdumpds on macs.
Change-Id: I93a770cfa6a92ba7ed47a1501962ea9ddb25eba5
Treehugger Robot [Thu, 8 Sep 2016 22:53:48 +0000 (22:53 +0000)]
Merge "Fix mac build"
Aart Bik [Thu, 8 Sep 2016 21:30:43 +0000 (21:30 +0000)]
Merge "Adding x86 compiler utils instructions and tests"
Colin Cross [Thu, 8 Sep 2016 21:19:51 +0000 (14:19 -0700)]
Fix mac build
-lrt doesn't exist on the mac
Change-Id: I5f9c62bc2338a09141d2e1baa29ff6a68eb2c6b2
Wojciech Staszkiewicz [Tue, 6 Sep 2016 17:55:38 +0000 (10:55 -0700)]
Make bisection search and javafuzz python modules
Adds __init__.py files required for bisection search and javafuzz
to be considered modules.
Renames bisection-search directory to bisection_search. This is
required because bisection-search is not a valid python module
name.
Test: manual
Change-Id: If85ac5392b10184add17816eab2294b260f72452
Treehugger Robot [Thu, 8 Sep 2016 20:48:32 +0000 (20:48 +0000)]
Merge "Convert more of art to Android.bp"
Treehugger Robot [Thu, 8 Sep 2016 20:07:41 +0000 (20:07 +0000)]
Merge "Add transactions for string resolve"
Mathieu Chartier [Wed, 7 Sep 2016 17:17:46 +0000 (10:17 -0700)]
Add transactions for string resolve
Fixes a bug where resolved strings can be left in the dex cache after
a transaction is rolled back even though the interned string was
removed.
Added test in transaction_test.
Bug:
31239436
Test: test-art-host
Change-Id: I42c67bcefeae8db134cde34c480261f52db4102e
Colin Cross [Tue, 30 Aug 2016 20:49:26 +0000 (13:49 -0700)]
Convert more of art to Android.bp
Relanding I1b10f140e17dd5e12a9d7f6a29d47cf61f5bf6ef, with fixes to
compile dalvikvm32 and dalvikvm64, and add them as dependencies of
tests. Also fixes HOST_PREFER_32_BIT by moving the override from the
defaults, which are not used by everything in art, to the art_cc_binary
module type.
Test: rm -rf out/host; m -j HOST_PREFER_32_BIT test-art-host; m -j test-art-host
Change-Id: I64d3eef5080e128103d052497760c3521cc253c6
Andreas Gampe [Thu, 8 Sep 2016 17:43:29 +0000 (17:43 +0000)]
Merge "ART: Detach libart-disassembler from libart"
Treehugger Robot [Thu, 8 Sep 2016 17:27:45 +0000 (17:27 +0000)]
Merge "Clean up the 538-checker-embed-constants test"
Andreas Gampe [Tue, 30 Aug 2016 00:43:45 +0000 (17:43 -0700)]
ART: Detach libart-disassembler from libart
Some more intrusive changes than I would have liked, as long as
ART logging is different from libbase logging.
Fix up some includes.
Bug:
15436106
Bug:
31338270
Test: m test-art-host
Change-Id: I9fbe4b85b2d74e079a4981f3aec9af63b163a461
Mathieu Chartier [Thu, 8 Sep 2016 17:04:04 +0000 (17:04 +0000)]
Merge "ART: Generate path to entrypoints in VisitLoadString for arm64"
Roland Levillain [Thu, 8 Sep 2016 16:08:34 +0000 (16:08 +0000)]
Merge "Do type checks in ArraySet without read barriers."
Anton Kirilov [Wed, 7 Sep 2016 13:45:23 +0000 (14:45 +0100)]
Clean up the 538-checker-embed-constants test
Change-Id: Ib7f11fc5d695c8c53fec55573e11bc87313c1065
Bill Buzbee [Thu, 8 Sep 2016 14:14:26 +0000 (14:14 +0000)]
Merge "ART: Remove computed-goto interpreter"
Treehugger Robot [Thu, 8 Sep 2016 13:06:38 +0000 (13:06 +0000)]
Merge "ARM64: Use macros for saving/restoring registers in assembly."
Vladimir Marko [Wed, 7 Sep 2016 17:05:55 +0000 (18:05 +0100)]
ARM64: Use macros for saving/restoring registers in assembly.
And for read barrier entrypoints, store LR conventionally
at the top of the frame instead of having a padding there.
Test: m test-art-target on Nexus 9.
Test: m test-art-target with CC on Nexus 9.
Change-Id: I48eaba3ee71c0629d2cc851fdd802590256a0739
David Sehr [Thu, 8 Sep 2016 00:39:03 +0000 (00:39 +0000)]
Merge "Fix some memory leaks found by valgrind."
Treehugger Robot [Thu, 8 Sep 2016 00:35:10 +0000 (00:35 +0000)]
Merge changes I20396a1b,I794df17a
* changes:
Support CUSTOM_TARGET_LINKER
Support HOST_PREFER_32_BIT
David Sehr [Wed, 7 Sep 2016 20:04:01 +0000 (13:04 -0700)]
Fix some memory leaks found by valgrind.
Bug:
29921113
Change-Id: If70d475a3317751d206658c5794a32d78bc33e47
Test: valgrind-test-art-host-gtest (with --trace-children=yes)
Treehugger Robot [Wed, 7 Sep 2016 22:54:12 +0000 (22:54 +0000)]
Merge "ART: Generate path to entrypoints in VisitLoadString for arm"
Colin Cross [Wed, 7 Sep 2016 21:12:50 +0000 (14:12 -0700)]
Support CUSTOM_TARGET_LINKER
Support overriding the dynamic linker setting in ART binaries when
CUSTOM_TARGET_LINKER is set. Used for ART testing of new binaries on a
device flashed to an old platform.
Change-Id: I20396a1bedd37cdf884d0c5a68f93b9a3e7e10b2
jessicahandojo [Wed, 7 Sep 2016 19:16:53 +0000 (12:16 -0700)]
Adding x86 compiler utils instructions and tests
Instructions added are (repne scasb), (repne movb),
and (repne cmpsb) for x86.
Instructions added is (repne scasb) for x86_64.
Test: m -j31 test-art-host-gtest-assembler_x86_test
m -j31 test-art-host-gtest-assembler_x86_64_test
Change-Id: I137bf5fe1174b1dcc0166f7f2e0cffadbc0ca7f5
Christina Wadsworth [Wed, 31 Aug 2016 23:14:38 +0000 (16:14 -0700)]
ART: Generate path to entrypoints in VisitLoadString for arm64
ARM64 CC boot.oat:
81817968 ->
80806672 (-1.23%)
Generate the code for the medium path in VisitLoadString, not by
creating a slow path and generating with the slow paths.
Change-Id: I45df45ea401157ae3d76a2d15dba35f3aed5593f
Tests: test-art-target on bullhead on master branch, N6P CC booting
Colin Cross [Tue, 6 Sep 2016 17:24:28 +0000 (10:24 -0700)]
Support HOST_PREFER_32_BIT
HOST_PREFER_32_BIT has been removed from the build system, support it
directly in art. When it is set, set the compile_multilib property of
all host art modules to "prefer32".
Change-Id: I794df17a805588392bd448983f279e4b8c8fe1c6
Christina Wadsworth [Wed, 31 Aug 2016 00:19:14 +0000 (17:19 -0700)]
ART: Generate path to entrypoints in VisitLoadString for arm
ARM32 boot.oat with CC:
72534816 ->
71888864 (-0.9%)
Move code that branches to entrypoints from GenerateSlowPaths to
VisitLoadString. Since we're doing this every time, we shouldn't have it
at the end with all of the slow paths.
Test: N6P booting with CC, test-art-target32 on shamu
Change-Id: I9c3307629015c9f6460506519339d4f275abe5a9
Mathieu Chartier [Wed, 7 Sep 2016 21:10:34 +0000 (21:10 +0000)]
Merge "Avoid read barrier for image HLoadClass"
Aart Bik [Wed, 7 Sep 2016 18:14:06 +0000 (18:14 +0000)]
Merge "Prepare bisection search for runtest integration"
David Sehr [Wed, 7 Sep 2016 17:43:28 +0000 (17:43 +0000)]
Merge "Separate DexIr building from constructors."
Mathieu Chartier [Sat, 3 Sep 2016 00:11:57 +0000 (17:11 -0700)]
Avoid read barrier for image HLoadClass
Concurrent copying baker:
X86_64 core-optimizing-pic.oat:
28583112 ->
27906824 (2.4% smaller)
Around 0.4% of 2.4% is from re-enabling kBootImageLinkTimeAddress,
kBootImageLinkTimePcRelative, and kBootImageAddress.
N6P boot.oat 32:
73042140 ->
71891956 (1.57% smaller)
N6P boot.oat 64:
83831608 ->
82531456 (1.55% smaller)
EAAC: 1252 -> 1245 (32 samples)
Bug:
29516974
Test: test-art-host CC baker, N6P booting
Change-Id: I9a196cf0157058836981c43c93872e9f0c4919aa
Greg Kaiser [Wed, 7 Sep 2016 15:00:51 +0000 (15:00 +0000)]
Merge "LogMessageData: Fix assignment in constructor"
buzbee [Wed, 7 Sep 2016 14:12:29 +0000 (07:12 -0700)]
ART: Remove computed-goto interpreter
ART currently has 3 interpreters: a baseline switch-statement based
interpreter, a C++ computed goto interpreter and a fast assembly
interpreter (mterp).
The C++ computed goto interpreter was intended to get some of the
benefits of the old Dalvik mterp interpreter - which it did. However,
we now have the faster assembly interpreter, so it is no longer
needed.
Test: m test-art-host
Test: m ART_TEST_INTERPRETER=true test-art-host
Change-Id: I0e8f139ab6bc48d0568951af1f83e2b1c00835f8