OSDN Git Service
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"
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`."
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
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
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
Roland Levillain [Wed, 7 Sep 2016 11:12:37 +0000 (11:12 +0000)]
Merge "Add build rules for statically linked oatdump on host."
Roland Levillain [Mon, 5 Sep 2016 14:57:33 +0000 (15:57 +0100)]
Do type checks in ArraySet without read barriers.
This approach is valid in the case of Baker and non-Baker
read barriers.
Benchmarks (ARM64) score variations on Nexus 5X with CPU
cores clamped at 960000 Hz (aosp_bullhead-userdebug build,
medians of 10 runs for each suite):
- Ritzperf - average (lower is better): -0.44% (virtually unchanged)
- CaffeineMark - average (higher is better): -0.20% (virtually unchanged)
- DeltaBlue (lower is better): -4.08% (slightly better)
- Richards - average (lower is better): -0.57% (virtually unchanged)
- SciMark2 - average (higher is better): -0.52% (virtually unchanged)
Details about Ritzperf benchmarks with meaningful variations
(lower is better):
- GenericCalcActions.MemAllocTest: +3.02% (slightly worse)
Details about Richards benchmarks with meaningful variations
(lower is better):
- gibbons -5.01% (better)
Boot image code size variation on Nexus 5X
(aosp_bullhead-userdebug build):
- total ARM64 framework Oat files size change:
83127840 bytes ->
83082656 bytes (-45184 bytes, -0.05%)
- total ARM framework Oat files size change:
72571872 bytes ->
72522796 bytes (-49076 bytes, -0.07%)
Test: ART_USE_READ_BARRIER=true ART_HEAP_POISONING=true m test-art-host
Test: ART_USE_READ_BARRIER=true ART_HEAP_POISONING=true m test-art-target
Bug:
29516974
Bug:
12687968
Change-Id: I8fe130156ace87dd2e4a15d9f8b4111287e735b3
Colin Cross [Wed, 7 Sep 2016 07:27:40 +0000 (07:27 +0000)]
Merge "Revert "Convert more of art to Android.bp""
Colin Cross [Wed, 7 Sep 2016 07:16:35 +0000 (00:16 -0700)]
Revert "Convert more of art to Android.bp"
This reverts commits
4a456275e25c536f525b6c020ca38c8ada8a05de and
198a957915eb75c5f837ea57d385aa6cfa69f76e.
Change-Id: Ibe49f611ae3ed7748bcfc9ac07f8d1f52d6bea3a
Treehugger Robot [Wed, 7 Sep 2016 04:15:09 +0000 (04:15 +0000)]
Merge "Fix art tests"
Colin Cross [Wed, 7 Sep 2016 02:32:39 +0000 (19:32 -0700)]
Fix art tests
dalvikvm needs to be compiled for 32-bit and 64-bit.
Change-Id: I184d7e4e3338c0858b0520f7eba7f9b256cfc02a
Treehugger Robot [Wed, 7 Sep 2016 01:35:01 +0000 (01:35 +0000)]
Merge "Convert more of art to Android.bp"
Treehugger Robot [Tue, 6 Sep 2016 23:12:04 +0000 (23:12 +0000)]
Merge "Add -g to art script --perf-report"
Hiroshi Yamauchi [Tue, 6 Sep 2016 21:42:29 +0000 (21:42 +0000)]
Merge changes I31aaf3ae,I8ef4639f
* changes:
Disable the from-space memory protection under host debug build.
Revert "Disable the from-space memory protection under debug/gcstress."
David Sehr [Thu, 1 Sep 2016 20:03:50 +0000 (13:03 -0700)]
Separate DexIr building from constructors.
Move all the construction from DexFile out of the constructors of the
basic IR.
Bug:
29921113
Change-Id: I3f79c104ce7183ddde73f143c047061416009a54
Test: test-art-host-gtest
Treehugger Robot [Tue, 6 Sep 2016 19:43:09 +0000 (19:43 +0000)]
Merge "ART: Dump more info on 137-cfi failure"
Hiroshi Yamauchi [Tue, 6 Sep 2016 19:24:52 +0000 (12:24 -0700)]
Disable the from-space memory protection under host debug build.
Temporarily for diagnosing the odd memory protection issue on the build
server.
Bug:
31172841
Test: test-art-host with SS
Change-Id: I31aaf3ae5b1d3bda901c6c739933b5a4751058c1
Treehugger Robot [Tue, 6 Sep 2016 19:24:44 +0000 (19:24 +0000)]
Merge "Optimizing: Fix handling empty fill-array-data."
Hiroshi Yamauchi [Tue, 6 Sep 2016 19:20:26 +0000 (12:20 -0700)]
Revert "Disable the from-space memory protection under debug/gcstress."
Bug:
31172841
This reverts commit
7a2d267b907000c56f401ab3c51f155cee9752a9.
Change-Id: I8ef4639f255118aba278f8051adf356271116507
Colin Cross [Tue, 30 Aug 2016 20:49:26 +0000 (13:49 -0700)]
Convert more of art to Android.bp
Change-Id: I1b10f140e17dd5e12a9d7f6a29d47cf61f5bf6ef
Treehugger Robot [Tue, 6 Sep 2016 18:20:07 +0000 (18:20 +0000)]
Merge "Change deoptimize entrypoint to save everything."
Treehugger Robot [Tue, 6 Sep 2016 17:59:40 +0000 (17:59 +0000)]
Merge "ARM: VIXL32: Support a newer version of VIXL."
Andreas Gampe [Mon, 5 Sep 2016 19:30:49 +0000 (12:30 -0700)]
ART: Dump more info on 137-cfi failure
Print the maps of the secondary process. Try to induce in-process
dumping of the secondary.
Bug:
31208203
Change-Id: I16a80e8510b297d61a51fdee91ab1c2f2e5a47c8
Vladimir Marko [Tue, 6 Sep 2016 15:49:15 +0000 (16:49 +0100)]
Optimizing: Fix handling empty fill-array-data.
Test: m test-art-host-run-test-412-new-array
Bug:
31300081
Change-Id: Id0512fc95a96c37de2ceab481666688435fa30f6
Vladimir Marko [Mon, 5 Sep 2016 09:44:04 +0000 (10:44 +0100)]
Change deoptimize entrypoint to save everything.
And implement FPU register retrieval from stack on x86.
On Nexus 9, AOSP ToT, the boot.oat size reduction is
prebuilt multi-part boot image:
- 32-bit boot.oat: -20KiB (-0.03%)
- 64-bit boot.oat: -45KiB (-0.06%)
on-device built single boot image:
- 32-bit boot.oat: -24KiB (-0.04%)
- 64-bit boot.oat: -36KiB (-0.05%)
Test: Run ART test suite on host and Nexus 9.
Bug:
30212852
Change-Id: I5d98e2a24363136d73dfec6100ab02f8eb101911
Greg Kaiser [Tue, 6 Sep 2016 04:39:51 +0000 (21:39 -0700)]
LogMessageData: Fix assignment in constructor
The previous code was assigning to the function argument, not
the member variable. Since our member variable is 'const'
we use a helper function to acheive this.
Test: m test-art-host
Change-Id: I11bf7b04297b7b6c0649a87416a7a6e622e2db43
Roland Levillain [Tue, 6 Sep 2016 10:09:41 +0000 (11:09 +0100)]
Add build rules for statically linked oatdump on host.
Also extend oatdump_test to exercise oatdump(d)s.
Test: ART_BUILD_HOST_STATIC=true m test-art-host-gtest-oatdump_test
Bug:
29530992
Change-Id: I6eb6c96f385832733d18d0400abd9974a6d8e45c
Alexandre Rames [Wed, 24 Aug 2016 16:08:49 +0000 (17:08 +0100)]
Remove unnecessary `static` specifiers in `common_arm64.h`.
Also fix a whitespace error.
Tests: Run ART test-suite on Nexus 5X and host.
Change-Id: Iaf69506e8f667a4598d1105e45dacfc2d09a7fda
Treehugger Robot [Tue, 6 Sep 2016 09:07:05 +0000 (09:07 +0000)]
Merge "MIPS32: Ensure preservation of RA in leaf methods if it's clobbered"
Treehugger Robot [Mon, 5 Sep 2016 21:24:09 +0000 (21:24 +0000)]
Merge "Fix typo in definition of `build-art-executable`."
Treehugger Robot [Mon, 5 Sep 2016 18:12:13 +0000 (18:12 +0000)]
Merge "Avoid excessive spill slots for slow paths."
Vladimir Marko [Tue, 9 Aug 2016 10:04:26 +0000 (11:04 +0100)]
Avoid excessive spill slots for slow paths.
Reducing the frame size makes stack maps smaller as we need
fewer bits for stack masks and some dex register locations
may use short location kind rather than long. On Nexus 9,
AOSP ToT, the boot.oat size reduction is
prebuilt multi-part boot image:
- 32-bit boot.oat: -416KiB (-0.6%)
- 64-bit boot.oat: -635KiB (-0.9%)
prebuilt multi-part boot image with read barrier:
- 32-bit boot.oat: -483KiB (-0.7%)
- 64-bit boot.oat: -703KiB (-0.9%)
on-device built single boot image:
- 32-bit boot.oat: -380KiB (-0.6%)
- 64-bit boot.oat: -632KiB (-0.9%)
on-device built single boot image with read barrier:
- 32-bit boot.oat: -448KiB (-0.6%)
- 64-bit boot.oat: -692KiB (-0.9%)
The other benefit is that at runtime, threads may need fewer
pages for their stacks, reducing overall memory usage.
We defer the calculation of the maximum spill size from
the main register allocator (linear scan or graph coloring)
to the RegisterAllocationResolver and do it based on the
live registers at slow path safepoints. The old notion of
an artificial slow path safepoint interval is removed as
it is no longer needed.
Test: Run ART test suite on host and Nexus 9.
Bug:
30212852
Change-Id: I40b3d114e278e2c5807982904fa49bf6642c6275
Roland Levillain [Mon, 5 Sep 2016 15:27:20 +0000 (16:27 +0100)]
Fix typo in definition of `build-art-executable`.
Uses of `LOCAL_MODULES` need two `$` signs within that Make
function definition, so the variable is properly evaluated,
as `build-art-executable` is expanded twice (because it is
used in calls to the `eval` function).
Test: ART_BUILD_HOST_STATIC=true mmma art
Change-Id: I669d493aa7470cb8cde28b2018c784937cd2d335
Anton Kirilov [Fri, 2 Sep 2016 19:55:46 +0000 (20:55 +0100)]
ARM: VIXL32: Support a newer version of VIXL.
Change-Id: I410c1536637a3282640d06894632491fe5d3c72a
Orion Hodson [Mon, 5 Sep 2016 14:42:31 +0000 (14:42 +0000)]
Merge "Address a couple of TODOs and remove an unused header."
Nicolas Geoffray [Mon, 5 Sep 2016 12:54:42 +0000 (12:54 +0000)]
Merge changes I3f825746,Ia4284ccd,I437ffd43
* changes:
Extend the InvokeRuntime() changes to mips64.
Extend the InvokeRuntime() changes to mips.
Extend the InvokeRuntime() changes to x86 and x86_64.
Orion Hodson [Mon, 5 Sep 2016 12:43:11 +0000 (13:43 +0100)]
Address a couple of TODOs and remove an unused header.
Fixing overlooked comments in:
https://android-review.googlesource.com/#/c/258402/
Test: test-art-target-gtest-dex_file_test
Change-Id: I5dc4ddb0cfaf1445a92620d8e2fa35cdb277df6a
Treehugger Robot [Mon, 5 Sep 2016 09:18:53 +0000 (09:18 +0000)]
Merge "Clean up some includes."
Orion Hodson [Mon, 5 Sep 2016 09:11:36 +0000 (09:11 +0000)]
Merge "Support for loading classes from DEX files stored in a ByteBuffer."
Treehugger Robot [Sat, 3 Sep 2016 17:06:43 +0000 (17:06 +0000)]
Merge changes I5acba084,I08a3379d
* changes:
ART: Suppress libbase failures in valgrind
ART: Use a 50-deep call-stack in valgrind
Nicolas Geoffray [Sat, 3 Sep 2016 13:56:59 +0000 (13:56 +0000)]
Merge "ART: Fixup JDWP tests script"
Andreas Gampe [Thu, 31 Dec 2015 03:37:48 +0000 (19:37 -0800)]
ART: Fixup JDWP tests script
The tests have problems on the host because of boot images. Vogar
by default runs in 32-bit mode, but the art script, used for forked
debuggee processes, by default runs in 64-bit. The JDWP forks also
do not set a boot classpath. With that mismatch, when the tests
are run in 32-bit mode on a 64-bit enabled host, the forked processes
will die.
Check whether a --variant parameter was passed to the test (and if
not assume it's x32). If the parameter is x32, then adapt the
debuggee command to ensure the forked runtime also runs in 32-bit
mode and finds the image from the controller. Similarly handle
the x64 case.
Change-Id: Ic22477e33702e1a7c1ca94466bf02df4cb201723
Andreas Gampe [Sat, 3 Sep 2016 02:43:59 +0000 (19:43 -0700)]
ART: Suppress libbase failures in valgrind
Whitelist globals in libbase's logging code that are triggered
when loading libjavacore.
Note: this suppression is very broad and applies to all leaks
during core native-methods binding. It is intentionally so to
be robust to name changes.
Test: m valgrind-test-art-host
Test: m valgrind-test-art-target-gtest-exception_test (N9)
Bug:
31275764
Change-Id: I5acba084fe6cfc3b03e1f899ea546a57ad5cf11c
Andreas Gampe [Sat, 3 Sep 2016 02:43:09 +0000 (19:43 -0700)]
ART: Use a 50-deep call-stack in valgrind
Necessary to diagnose issues. Required for deep suppressions.
Test: m valgrind-test-art-host
Change-Id: I08a3379d4763d66a2ae7db1f2f500c93b0a93e90
Wojciech Staszkiewicz [Thu, 1 Sep 2016 21:36:13 +0000 (14:36 -0700)]
Prepare bisection search for runtest integration
Prepares bisection_search.py for run-test integration.
Introduces a --raw-cmd switch which accepts a full dalvikvm
command.
Fixes few bugs.
Test: ./art/tools/bisection-search/bisection_test.py
manual testing
Change-Id: I0272d21fe1e73278837bce76ad3eef632993fbe2
Mathieu Chartier [Fri, 2 Sep 2016 21:32:59 +0000 (21:32 +0000)]
Merge "Use the fast path object size for RosAlloc asm stubs"
Mathieu Chartier [Fri, 2 Sep 2016 18:44:11 +0000 (11:44 -0700)]
Add -g to art script --perf-report
Gives a basic call stack, good for knowing what calls what.
Test: art --perf-report
Change-Id: Ifa44040491ed865bf839d62622494d951f2bcd62
Nicolas Geoffray [Fri, 2 Sep 2016 18:43:10 +0000 (18:43 +0000)]
Merge "Remove duplicate entry."
Nicolas Geoffray [Fri, 2 Sep 2016 18:42:22 +0000 (19:42 +0100)]
Remove duplicate entry.
Change-Id: Ic9f172a19adb83028e9d13c8349a732931aec7db
Mathieu Chartier [Thu, 1 Sep 2016 21:06:54 +0000 (14:06 -0700)]
Use the fast path object size for RosAlloc asm stubs
Also address comments. MemAllocTest perf on N5X speedup in the noise.
Bug:
9986565
Test: test-art-host -j32, N5X booting
Change-Id: Ic22ca92aab88b37fd66928949bf11264ee3476dc
Treehugger Robot [Fri, 2 Sep 2016 14:55:29 +0000 (14:55 +0000)]
Merge "Blacklist flaky test."
Treehugger Robot [Fri, 2 Sep 2016 14:52:27 +0000 (14:52 +0000)]
Merge "verifier: Pass ClassDef as a reference"
Vladimir Marko [Fri, 2 Sep 2016 11:38:38 +0000 (12:38 +0100)]
Clean up some includes.
Remove some unnecessary includes from header files, replace
others with forward references and add includes to source
files as needed. Reduce dependency on stack.h by pulling
StackReference<> out to its own file.
Test: m test-art-host
Change-Id: I0fb182145e328870cbd918b0ef6ae2950223c1b2
Treehugger Robot [Fri, 2 Sep 2016 13:41:22 +0000 (13:41 +0000)]
Merge "Cache result of an expensive DCHECK"
David Brazdil [Fri, 2 Sep 2016 13:13:18 +0000 (14:13 +0100)]
verifier: Pass ClassDef as a reference
Tiny refactor. ClassDef should never be null, yet we pass it as
a pointer, check it is not null and dereference everywhere.
Change-Id: Id89a1f599f1289d3cc00846306a890e06e438f88
David Brazdil [Fri, 2 Sep 2016 10:42:48 +0000 (11:42 +0100)]
Cache result of an expensive DCHECK
LiveInterval::AddBackEdgeUses tests whether linear order is well
formed on debug builds. This is expensive and can significantly hinder
compilation times when many back edge uses are added.
This patch moves the IsLinearOrderWellFormed test at the end of
linear order generation.
Bug:
31163119
Change-Id: Ic4fe66bee2055f4b2cb065d9451ad5f21ba00676
Treehugger Robot [Fri, 2 Sep 2016 11:32:29 +0000 (11:32 +0000)]
Merge "Revert "Revert "Refactor writing type lookup tables into OAT"""
Orion Hodson [Wed, 17 Aug 2016 09:51:42 +0000 (10:51 +0100)]
Support for loading classes from DEX files stored in a ByteBuffer.
Bug: http://b/
26878838
Test: test-art-target-gtest-dex_file_test
Change-Id: I68845c35784386bde6270102f0079d4f07bc4d03
David Brazdil [Thu, 1 Sep 2016 16:38:47 +0000 (16:38 +0000)]
Revert "Revert "Refactor writing type lookup tables into OAT""
OatWriter used to write type lookup tables through an mmap of the
DEX section of the OAT file. This approach would not work once the
DEX section is moved into the VDEX file, hence it was rewritten to
write the data through OutputStream.
This reverts commit
b92ba6296d4ef5b9a6674120ffaafde7d2511812.
Test: m test-art-host
Bug:
30937355
Change-Id: Id923f2c8a4f9ce2a3834b9886b4358e1b379b83d
Nicolas Geoffray [Fri, 2 Sep 2016 09:04:52 +0000 (10:04 +0100)]
Blacklist flaky test.
bug:
31258002
Change-Id: Ida80028b0fb49208f4eb4d0ba929800b28574902