OSDN Git Service
Roland Levillain [Fri, 26 Aug 2016 09:51:01 +0000 (09:51 +0000)]
Merge "Re-enable the ArraySet fast path with Baker read barriers."
Treehugger Robot [Fri, 26 Aug 2016 02:40:55 +0000 (02:40 +0000)]
Merge "Fix mac builds"
Treehugger Robot [Fri, 26 Aug 2016 02:14:53 +0000 (02:14 +0000)]
Merge "Bisection bug search tool"
Treehugger Robot [Fri, 26 Aug 2016 02:01:06 +0000 (02:01 +0000)]
Merge "Background full compaction for CC."
Aart Bik [Fri, 26 Aug 2016 00:48:38 +0000 (00:48 +0000)]
Merge "MIPS64: Improve non-trivial 64-bit constant loading."
Hiroshi Yamauchi [Wed, 24 Aug 2016 20:53:12 +0000 (13:53 -0700)]
Background full compaction for CC.
Invoke a full compaction with the CC collector when an app goes to the
background like the HSpace compaction for the CMS collector.
Bug:
31039431
Bug:
12687968
Test: test-art, Ritz EAAC, N9 libartd.so device boot with CC
Change-Id: I119aa26c1d3c167b12983fffcb16164929bf8f68
Colin Cross [Fri, 26 Aug 2016 00:33:47 +0000 (00:33 +0000)]
Merge "Fix arm32 build"
Colin Cross [Fri, 26 Aug 2016 00:11:43 +0000 (00:11 +0000)]
Merge "Remove libLLVM* from art"
Colin Cross [Thu, 25 Aug 2016 23:42:09 +0000 (16:42 -0700)]
Fix mac builds
Add libz-host back as a dependency to fix darwin builds.
Change-Id: I1abc9e2f336e029592a5fcc27a79f94ad235547e
Colin Cross [Thu, 25 Aug 2016 23:22:04 +0000 (16:22 -0700)]
Fix arm32 build
libvixl-arm is required for arm codegen targets.
Change-Id: I6e8dab7c406bebbb8dfd9bebdb8dbb7ce21c79b3
Wojciech Staszkiewicz [Thu, 11 Aug 2016 21:04:20 +0000 (14:04 -0700)]
Bisection bug search tool
Bisection Bug Search is a tool for finding compiler optimization
bugs. It accepts a program which exposes a bug by producing incorrect
output and expected correct output for the program. The tool will
then attempt to narrow down the issue to a single method and
optimization pass.
Given methods in order M0..Mn finds smallest i such that compiling
Mi and interpreting all other methods produces incorrect output.
Then, given ordered optimization passes P0..Pl, finds smallest j
such that compiling Mi with passes P0..Pj-1 produces expected output
and compiling Mi with passes P0..Pj produces incorrect output.
Prints Mi and Pj.
Test: unit tests ./art/tools/bisection-search/tests.py
Manual testing:
./bisection-search.py -cp classes.dex --expected-output output Test
Change-Id: Ic40a82184975d42c9a403f697995e5c9654b8e52
Colin Cross [Thu, 25 Aug 2016 22:29:25 +0000 (15:29 -0700)]
Remove libLLVM* from art
The functionality in libbacktrace that depended on libLLVM* has been
split out into libbacktrace_offline. Remove the unnecessary
dependencies from dex2oats.
Test: m -j dex2oats ART_BUILD_HOST_STATIC=true
Change-Id: I79b99c4d420caefbdf6aa81541120ddedd2149c5
Treehugger Robot [Thu, 25 Aug 2016 22:18:01 +0000 (22:18 +0000)]
Merge "Convert libart and dependencies to Android.bp"
Colin Cross [Wed, 27 Jul 2016 17:12:38 +0000 (10:12 -0700)]
Convert libart and dependencies to Android.bp
Re-landing I73839046a5a53eb34cd28eea53149911c568e411, with fixes for mac
build (only apply -Wl,--keep-unique to device x86 builds), typo in
checking for ART_HEAP_POISONING environment variable, and removing
-Wframe-larger-than for debug builds.
Test: mma -j, m -j test-art-host
Change-Id: If88492174cbcb0d9a8758176c006163a29eaaa63
Vladimir Marko [Thu, 25 Aug 2016 19:52:01 +0000 (19:52 +0000)]
Merge "ArraySet without type check does not need read barrier."
Treehugger Robot [Thu, 25 Aug 2016 18:43:08 +0000 (18:43 +0000)]
Merge "Fix VIXL assembler test for heap-poisoning configurations."
Vladimir Marko [Thu, 25 Aug 2016 17:17:56 +0000 (18:17 +0100)]
Fix VIXL assembler test for heap-poisoning configurations.
And fix a typo in test name.
Test: ART_HEAP_POISONING=true m test-art-host-gtest-assembler_thumb_test
Change-Id: Ibc3750676aa7a7b23c93ee0babb8d9c207cb762a
Roland Levillain [Thu, 25 Aug 2016 16:54:43 +0000 (16:54 +0000)]
Merge "ARM64: Make runtime invokes use InvokeRuntime()."
Roland Levillain [Thu, 25 Aug 2016 16:27:56 +0000 (17:27 +0100)]
Re-enable the ArraySet fast path with Baker read barriers.
Benchmarks (ARM64) score variations on Nexus 5X with CPU
cores clamped at 960000 Hz (aosp_bullhead-userdebug build):
- Ritzperf - average (lower is better): -0.95% (virtually unchanged)
- CaffeineMark - average (higher is better): +2.50% (slightly better)
- DeltaBlue (lower is better): -0.55% (virtually unchanged)
- Richards - average (lower is better): +0.67% (virtually unchanged)
- SciMark2 - average (higher is better): -0.10% (virtually unchanged)
Details about Ritzperf benchmarks with meaningful variations
(lower is better):
- GenericCalcActions.MemAllocTest: -5.05% (better)
Details about CaffeineMark benchmarks with meaningful variations
(higher is better):
- Method: +16.88% (better)
Details about Richards benchmarks with meaningful variations
(lower is better):
- deutsch_acc_interface: +9.86% (worse)
Boot image code size variation on Nexus 5X
(aosp_bullhead-userdebug build):
- total ARM64 framework Oat files size change:
105933472 bytes ->
106027680 bytes (+0.09%)
- total ARM framework Oat files size change:
89157936 bytes ->
89239856 bytes (+0.09%)
Test: ART host and target (ARM, ARM64) tests.
Bug:
29516974
Bug:
29506760
Bug:
12687968
Change-Id: Ib9e9709712295e17804b8888ac10e3d518ff2e70
Vladimir Marko [Thu, 25 Aug 2016 15:42:26 +0000 (15:42 +0000)]
Merge "ARM64: Use the zero register for field and array set operations."
Serban Constantinescu [Thu, 18 Feb 2016 16:06:31 +0000 (16:06 +0000)]
ARM64: Make runtime invokes use InvokeRuntime().
This patch refactors all of the ARM64 Optimizing compiler runtime
invokes to use InvokeRuntime(). It also fixes some misuses of
RecordPcInfo().
Test: m test-art-target + Nexus 6 boot test
Change-Id: Ia3e477c42fb14c62b81e50daa5811185071bafa6
Treehugger Robot [Thu, 25 Aug 2016 15:12:37 +0000 (15:12 +0000)]
Merge "ARM: VIXL32: Update the trampoline compiler."
Treehugger Robot [Thu, 25 Aug 2016 15:12:19 +0000 (15:12 +0000)]
Merge "ARM: VIXL32: Switch JNI compiler to use VIXL Assembler."
Treehugger Robot [Thu, 25 Aug 2016 15:11:52 +0000 (15:11 +0000)]
Merge "ARM: VIXL32: Implement VIXL-based assembler."
Vladimir Marko [Thu, 25 Aug 2016 14:20:47 +0000 (15:20 +0100)]
ArraySet without type check does not need read barrier.
Test: Run ART test suite with ART_USE_READ_BARRIER=true on host and Nexus 9.
Bug:
12687968
Change-Id: Ie04a34b2149f4fc6fe995f3e43e76986a3f6330f
Alexandre Rames [Tue, 23 Aug 2016 17:33:36 +0000 (18:33 +0100)]
ARM64: Use the zero register for field and array set operations.
Test: Run ART test suite on host and Nexus 9.
Change-Id: I4e2a81570ecc57530249672df704eb0bb780acce
Roland Levillain [Thu, 25 Aug 2016 12:19:36 +0000 (12:19 +0000)]
Merge "ARM: Purge Arm32Assembler."
Vladimir Marko [Thu, 25 Aug 2016 11:18:23 +0000 (11:18 +0000)]
Merge "MIPS32: Refactor implicit null checks in array/field get/set."
Nicolas Geoffray [Thu, 25 Aug 2016 09:14:35 +0000 (09:14 +0000)]
Merge "Remove duplicate entries with libcore expectation files."
Nicolas Geoffray [Thu, 25 Aug 2016 09:11:40 +0000 (10:11 +0100)]
Remove duplicate entries with libcore expectation files.
Needed after N->AOSP drop.
test:art/tools/run-libcore-tests.sh
Change-Id: Icd7e20e8a6cff42aecf316e2a356d19bf9e5ee39
Treehugger Robot [Thu, 25 Aug 2016 05:51:36 +0000 (05:51 +0000)]
Merge "Revert "Revert "Fix debugger calling new String()."""
Jeff Hao [Thu, 25 Aug 2016 03:52:40 +0000 (03:52 +0000)]
Revert "Revert "Fix debugger calling new String().""
Bug:
30951794
Test: mm -j24 run-jdwp-tests-host
This reverts commit
6f48d4c72e7b4011a6d9652734bd1cb0c389790b.
This also includes the reversion of commit
528954f55e3173b02df2822c1fc680873d6a91c8.
Change-Id: If0b2ae39cb2a9db80b567bb8d5761d504433632d
Colin Cross [Thu, 25 Aug 2016 01:05:27 +0000 (01:05 +0000)]
Merge "Revert "Convert libart and dependencies to Android.bp""
Colin Cross [Thu, 25 Aug 2016 01:03:42 +0000 (01:03 +0000)]
Revert "Convert libart and dependencies to Android.bp"
This reverts commit
4ea3a22f0ccfb0f746c63c274b2655545e759e1f.
Change-Id: I3ac4397b4d6be038e5b863b7a24231c0736e84f3
Treehugger Robot [Thu, 25 Aug 2016 00:31:20 +0000 (00:31 +0000)]
Merge "Convert libart and dependencies to Android.bp"
Alexey Frunze [Sat, 20 Aug 2016 08:55:47 +0000 (01:55 -0700)]
MIPS32: Refactor implicit null checks in array/field get/set.
Rationale: on MIPS32 64-bit loads and stores may be performed
as pairs of 32-bit loads/stores. Implicit null checks must be
associated with the first 32-bit load/store in a pair and not
the last. This change ensures proper association of said checks
(a few were done after the last 32-bit load/store in a pair)
and lays ground for further improvements in array/field get/set.
Test: booted MIPS32 in QEMU
Test: test-art-host-gtest
Test: test-art-target-run-test-optimizing in QEMU
Change-Id: I3674947c00bb17930790a7a47c9b7aadc0c030b8
Colin Cross [Wed, 27 Jul 2016 17:12:38 +0000 (10:12 -0700)]
Convert libart and dependencies to Android.bp
Test: mma -j, m -j test-art-host
Change-Id: I73839046a5a53eb34cd28eea53149911c568e411
Treehugger Robot [Wed, 24 Aug 2016 21:53:50 +0000 (21:53 +0000)]
Merge "Avoid CAS for marking region space bitmap for baker"
Chris Larsen [Fri, 13 May 2016 23:11:47 +0000 (16:11 -0700)]
MIPS64: Improve non-trivial 64-bit constant loading.
- Add special case where the upper 32 bits of the constant are equal to
the lower 32 bits of the constant. Use the "dinsu" instruction to
replicate the bottom 32 bits into the top 32 bits.
- Test output of LoadConst32()/LoadConst64() against various test
constants.
o Make the implementation of LoadConst64() into a template.
o Using the template code for LoadConst64() implement test
cases which simulate the computation of the value which the
generated code sequence is actually supposed to load.
o Add conditionally compiled code to verify that all of the
various data paths through the LoadConst64() function
actually get exercised.
Test: Booted MIPS64 in QEMU, and ran assembler tests.
Change-Id: Ie1ec050e65c666168a9ea582bae9fda97e4cf36a
Mathieu Chartier [Tue, 23 Aug 2016 20:27:53 +0000 (13:27 -0700)]
Avoid CAS for marking region space bitmap for baker
Only have the GC thread mark it. This occurs when popping from the
mark stack. The race where an object may be pushed to the mark
stack twice is handled by not scanning if it is already marked.
Also avoid checking is_active when marking from the GC.
EAAC: 1263 -> 1253 (average of 30 runs)
GC time: 7.21s -> 6.83s (average of 18 runs)
Timings on 960 mhz N6P.
Bug:
12687968
Change-Id: I47e98c3e258829d2ba0babd803a219c82a36168c
Test: test-art-host, debug N6P booting with baker CC.
Andreas Gampe [Wed, 24 Aug 2016 17:21:18 +0000 (17:21 +0000)]
Merge "ART: Remove vestiges of GCC"
am:
8aea8dbca6
Change-Id: I6bf7a971949ccbc0aa2d008a1264c7f3c880b9fb
Treehugger Robot [Wed, 24 Aug 2016 17:09:42 +0000 (17:09 +0000)]
Merge "ART: Remove vestiges of GCC"
Vladimir Marko [Wed, 24 Aug 2016 13:56:50 +0000 (13:56 +0000)]
Merge "Revert "Revert "x86/x86-64: Avoid temporary for read barrier field load."""
am:
7c95b4e228
Change-Id: I190029aa010e53193f2212bd539462664bddbe4d
Nicolas Geoffray [Wed, 24 Aug 2016 13:56:33 +0000 (13:56 +0000)]
Merge "Revert "Fix debugger calling new String().""
am:
f91b5f3372
Change-Id: Ie1103da43144d9bfadbd56dcb6f83b219ea0d012
Nicolas Geoffray [Wed, 24 Aug 2016 13:56:29 +0000 (13:56 +0000)]
Merge "Revert "Fix debugger missing handle between adding and tagging object.""
am:
85f692bc43
Change-Id: I25274033c55726076f6507b1a5405b847b675e88
Treehugger Robot [Wed, 24 Aug 2016 13:49:04 +0000 (13:49 +0000)]
Merge "Revert "Revert "x86/x86-64: Avoid temporary for read barrier field load."""
Nicolas Geoffray [Wed, 24 Aug 2016 13:48:47 +0000 (13:48 +0000)]
Merge "Revert "Fix debugger calling new String().""
Nicolas Geoffray [Wed, 24 Aug 2016 13:48:08 +0000 (13:48 +0000)]
Merge "Revert "Fix debugger missing handle between adding and tagging object.""
Nicolas Geoffray [Wed, 24 Aug 2016 13:40:41 +0000 (13:40 +0000)]
Revert "Fix debugger missing handle between adding and tagging object."
Bug:
30951794
This reverts commit
9e0878494cdacd0877a1614041efc38ebb053017.
Change-Id: I3fe1c7e466ae25a81cd37ee5a4aacb40b55686a1
Nicolas Geoffray [Wed, 24 Aug 2016 13:39:08 +0000 (13:39 +0000)]
Revert "Fix debugger calling new String()."
Bug:
30951794
This reverts commit
f15ec05896ddc5fec1f224ef97bdfebb72b5a855.
Change-Id: Ie7fc565159a19a19a269099f21db833d470aef7c
Neil Fuller [Wed, 24 Aug 2016 13:23:27 +0000 (13:23 +0000)]
Merge "Fix for package name test break in ART"
am:
66e7ba24b7
Change-Id: I2e68378a2be69da62a717026515b6fbc5cfab615
Neil Fuller [Wed, 24 Aug 2016 13:14:19 +0000 (13:14 +0000)]
Merge "Fix for package name test break in ART"
Neil Fuller [Wed, 24 Aug 2016 12:57:23 +0000 (13:57 +0100)]
Fix for package name test break in ART
Modifying the hard-coded string in test 031.
Bug:
28131225
Test: run-test --host 031-class-attributes
Change-Id: Ifffaebd5b8595075fcde295a6e3921af99871f9d
Vladimir Marko [Wed, 24 Aug 2016 08:30:46 +0000 (08:30 +0000)]
Revert "Revert "x86/x86-64: Avoid temporary for read barrier field load.""
Fixed the fault handler recognizing the TEST instruction and
fault address within the lock word. Added tests to 439-npe.
Bug:
29966877
Bug:
12687968
Test: Tested with ART_USE_READ_BARRIER=true on host.
Test: Tested with ART_USE_READ_BARRIER=true ART_HEAP_POISONING=true on host.
This reverts commit
ccf15bca330f9a23337b1a4b5850f7fcc6c1bf15.
Change-Id: I8990def5f719c9205bf6e5fdba32027fa82bec50
Alexey Frunze [Wed, 24 Aug 2016 10:11:43 +0000 (10:11 +0000)]
Merge "ART: unblock compiler tests on MIPS"
am:
c31ba109d5
Change-Id: I72ec401ed09c411c3933137a901a9aa24ca3c730
Treehugger Robot [Wed, 24 Aug 2016 09:58:59 +0000 (09:58 +0000)]
Merge "ART: unblock compiler tests on MIPS"
Alexey Frunze [Wed, 24 Aug 2016 06:42:54 +0000 (23:42 -0700)]
ART: unblock compiler tests on MIPS
The DCHECK() that's removed here causes most of compiler tests to
fail on MIPS. The issue is introduced with the recent changes in
the string dex cache.
Test: booted MIPS32 in QEMU
Test: test-art-target-run-test-optimizing on CI20
Change-Id: I7fd45fa0b6d64fbc553f6aeaa6dac7345c885fe4
Andreas Gampe [Wed, 24 Aug 2016 05:10:23 +0000 (05:10 +0000)]
Merge "ART: Remove -std=gnu++11"
am:
c67d22ac6d
Change-Id: I2f25500995f5338ffaa593afc1f278bdcf0305b9
Treehugger Robot [Wed, 24 Aug 2016 05:04:32 +0000 (05:04 +0000)]
Merge "ART: Remove -std=gnu++11"
Andreas Gampe [Wed, 24 Aug 2016 03:24:11 +0000 (20:24 -0700)]
ART: Remove -std=gnu++11
We no longer have to restrict ourselves, with GCC gone. Pick up
the default from the build system (which is at least as good).
Change-Id: I98b4a82944b7e16a80fbeac1d43c9e7ed0d17a6a
Test: m test-art-host
Andreas Gampe [Wed, 24 Aug 2016 03:07:22 +0000 (03:07 +0000)]
Merge "Revert "Make dchecked_vector C++11 compatible.""
am:
9f98286cf2
Change-Id: I949f452b4958e7a7d731746fb87f29dacd257cbb
Christina Wadsworth [Wed, 24 Aug 2016 03:07:18 +0000 (03:07 +0000)]
Merge "ART: Improve art_quick_resolve_string for x86."
am:
2ccdfbbf78
Change-Id: If03a4d9a70b55794a50e4348e4bb50f90f6f13cd
Treehugger Robot [Wed, 24 Aug 2016 03:01:49 +0000 (03:01 +0000)]
Merge "Revert "Make dchecked_vector C++11 compatible.""
Treehugger Robot [Wed, 24 Aug 2016 02:57:47 +0000 (02:57 +0000)]
Merge "ART: Improve art_quick_resolve_string for x86."
Christina Wadsworth [Wed, 24 Aug 2016 01:31:38 +0000 (01:31 +0000)]
Merge "ART: Improve art_quick_resolve_string for x86_64."
am:
47ec97259f
Change-Id: I6326ea542984ad7d5f93d4eaadef3793f07ac87a
Andreas Gampe [Wed, 24 Aug 2016 01:24:51 +0000 (01:24 +0000)]
Revert "Make dchecked_vector C++11 compatible."
We no longer support GCC in ART.
This reverts commit
05ff5a4ad666d9eb583ff343c1cbba886d7621b1.
Bug:
25022512
Change-Id: Ie0aee5ce3f8b5bb5023fba90c39d96ae01e3e256
Test: m test-art-host
Treehugger Robot [Wed, 24 Aug 2016 01:22:01 +0000 (01:22 +0000)]
Merge "ART: Improve art_quick_resolve_string for x86_64."
Andreas Gampe [Wed, 24 Aug 2016 00:35:19 +0000 (17:35 -0700)]
ART: Remove vestiges of GCC
We no longer support GCC.
Change-Id: I869ac6e5dcb166747e45236a0d313c7672bbf2de
Test: m test-art-host
jessicahandojo [Wed, 24 Aug 2016 00:56:11 +0000 (00:56 +0000)]
Merge "creating workflow for mirror::String compression"
am:
51a0c4fe2d
Change-Id: I55512bf99146756d18733c75972362dc1bb6ad0c
Treehugger Robot [Wed, 24 Aug 2016 00:50:38 +0000 (00:50 +0000)]
Merge "creating workflow for mirror::String compression"
Andreas Gampe [Wed, 24 Aug 2016 00:05:48 +0000 (00:05 +0000)]
Merge "ART: Validate oat file for cache-only images"
am:
e99331f7a4
Change-Id: I53696ee4ad5b600688ee6f9666aed40047e60f8f
Treehugger Robot [Tue, 23 Aug 2016 23:55:41 +0000 (23:55 +0000)]
Merge "ART: Validate oat file for cache-only images"
Christina Wadsworth [Tue, 23 Aug 2016 21:13:43 +0000 (14:13 -0700)]
ART: Improve art_quick_resolve_string for x86.
Check gc_is_marking instead of the mark bit first, this makes it that we
don't go slow path if the GC is not running.
Test: test-art-host
Bug:
20323084
Change-Id: I8ae37cf17db266462688c1b1c3a904ba740d769c
Christina Wadsworth [Tue, 23 Aug 2016 23:24:32 +0000 (23:24 +0000)]
Merge "ART: Improve art_quick_resolve_string for arm."
am:
6fe5941077
Change-Id: I450903c4b8f20498c2a6a81937afedfda5f5db1d
Treehugger Robot [Tue, 23 Aug 2016 23:07:36 +0000 (23:07 +0000)]
Merge "ART: Improve art_quick_resolve_string for arm."
Christina Wadsworth [Tue, 23 Aug 2016 00:33:59 +0000 (17:33 -0700)]
ART: Improve art_quick_resolve_string for x86_64.
Check gc_is_marking instead of the mark bit first, this makes it that we
don't go slow path if the GC is not running.
Test: test-art-host
Bug:
20323084
Change-Id: I5394dee49f721536857552fbc3e15d80a71213f4
jessicahandojo [Fri, 29 Jul 2016 21:46:37 +0000 (14:46 -0700)]
creating workflow for mirror::String compression
All-ASCII String characters are stored in 8-bit blocks
instead of 16-bit. The compression has not taken place, but all
workflow are in the code already (changing kUseStringCompression in
string.h file to TRUE will enable the feature)
Notes: Feature works on interpreter only without optimizing
Test art: m ART_TEST_INTERPRETER=true ART_TEST_OPTIMIZING=false
test-art-host
Also tested with String tests from libcore/:
1. libcore.java.lang.StringTest
2. libcore.java.lang.StringBufferTest
3. libcore.java.lang.StringBuilderTest
4. libcore.java.lang.OldStringTest
5. libcore.java.lang.OldStringBufferTest
Memory improvement is 33% (from 6.03% to 4.03%, total String memory
from all apps per total memory of all apps) measured on Angler
with Hprof tools
Bug:
31040547
Change-Id: I9cc92c265ebf1305fc06b5fc33efd83797660cce
Andreas Gampe [Tue, 23 Aug 2016 21:35:55 +0000 (21:35 +0000)]
Merge "ART: Separate out Realloc reuse and alignment tests"
am:
8bd13610ca
Change-Id: I8e38ef572c5d5c48e08250055e7f6224511268af
Treehugger Robot [Tue, 23 Aug 2016 21:21:00 +0000 (21:21 +0000)]
Merge "ART: Separate out Realloc reuse and alignment tests"
Aart Bik [Tue, 23 Aug 2016 18:41:13 +0000 (18:41 +0000)]
Merge "Ongoing improvements in java fuzz testing"
am:
ebb5d0f3bc
Change-Id: I93c227e2b33cea9d58647dd97754459be8152422
Aart Bik [Tue, 23 Aug 2016 18:33:00 +0000 (18:33 +0000)]
Merge "Ongoing improvements in java fuzz testing"
Vladimir Marko [Tue, 23 Aug 2016 18:12:14 +0000 (18:12 +0000)]
Merge "Revert "x86/x86-64: Avoid temporary for read barrier field load.""
am:
e3eb47133c
Change-Id: I0af6ed4c628b608ab2cf29954c670689b1420bbc
Vladimir Marko [Tue, 23 Aug 2016 17:53:23 +0000 (17:53 +0000)]
Merge "Revert "x86/x86-64: Avoid temporary for read barrier field load.""
Vladimir Marko [Tue, 23 Aug 2016 17:48:38 +0000 (17:48 +0000)]
Revert "x86/x86-64: Avoid temporary for read barrier field load."
Fault handler does not recognize the instruction
F6 /0 ib TEST r/m8, imm8
so we get crashes instead of NPEs.
Bug:
29966877
Bug:
12687968
This reverts commit
ccf06d8f19a37432de4a3b768747090adfbd18ec.
Change-Id: Ib7db3b59f44c0d3ed5e24a20b6c6ee596a89d709
Christina Wadsworth [Tue, 23 Aug 2016 01:16:15 +0000 (18:16 -0700)]
ART: Improve art_quick_resolve_string for arm.
Check gc_is_marking instead of the mark bit first, this makes it that we
don't go slow path if the GC is not running.
Test: test-art-host
Bug:
20323084
Change-Id: I834742fbb670302ba0955a579008ff75914a2673
Andreas Gampe [Tue, 23 Aug 2016 15:56:01 +0000 (15:56 +0000)]
Merge "ART: Clean up interpreter includes"
am:
6abf237391
Change-Id: I439817deae3d8de01158c0a4c81736877a651c2d
Treehugger Robot [Tue, 23 Aug 2016 15:35:14 +0000 (15:35 +0000)]
Merge "ART: Clean up interpreter includes"
Vladimir Marko [Tue, 23 Aug 2016 12:46:39 +0000 (12:46 +0000)]
Merge "x86/x86-64: Avoid temporary for read barrier field load."
am:
076ffd686c
Change-Id: I375a8c9e125f634c2bf16a081f6965a85077d2bb
Treehugger Robot [Tue, 23 Aug 2016 12:36:53 +0000 (12:36 +0000)]
Merge "x86/x86-64: Avoid temporary for read barrier field load."
Vladimir Marko [Fri, 12 Aug 2016 12:37:55 +0000 (13:37 +0100)]
x86/x86-64: Avoid temporary for read barrier field load.
Add TEST instructions for memory and immediate. Use the byte
version to avoid a temporary in read barrier field load.
Test: Tested with ART_USE_READ_BARRIER=true on host.
Test: Tested with ART_USE_READ_BARRIER=true ART_HEAP_POISONING=true on host.
Bug:
29966877
Bug:
12687968
Change-Id: Ia415d3c2e1ae1ff6dff11d72bbb7d96d5deed6ee
Andreas Gampe [Tue, 23 Aug 2016 00:54:17 +0000 (17:54 -0700)]
ART: Clean up interpreter includes
Move goto-interpreter special-cased Clang declarations to goto
implementation file. Separate out declarations into their own
headers. Tag the declarations with thread safety annotations.
Minor compile-time impact when running with -j1.
Change-Id: I03664d4e7dc6361b2510a8c9beb693d23a657c9d
Test: m test-art-host
Test: m ART_TEST_INTERPRETER=true test-art-host
Wojciech Staszkiewicz [Tue, 23 Aug 2016 03:05:36 +0000 (03:05 +0000)]
Merge "Use full pass name when building optimizations"
am:
cf834d00de
Change-Id: I0c06484030c0900851c950360447b251efc9bc47
Chris Larsen [Tue, 23 Aug 2016 02:57:33 +0000 (02:57 +0000)]
Merge "MIPS32: Optimize R6 round(float) intrinsic."
am:
5f81cd0413
Change-Id: I4931bada1206b9be2344a8af9d61b3403c5f1171
Treehugger Robot [Tue, 23 Aug 2016 02:57:21 +0000 (02:57 +0000)]
Merge "Use full pass name when building optimizations"
Treehugger Robot [Tue, 23 Aug 2016 02:49:26 +0000 (02:49 +0000)]
Merge "MIPS32: Optimize R6 round(float) intrinsic."
Andreas Gampe [Tue, 23 Aug 2016 02:14:29 +0000 (19:14 -0700)]
ART: Separate out Realloc reuse and alignment tests
Separate out the tests for Realloc buffer reuse and realloc
alignment tests. This allows to turn off reuse tests under
memory tools (where we do not reuse).
Change-Id: I93375c6fbc577f9b796325f8143317610948455a
Test: m test-art-host-gtest-arena_allocator_test
Test: m valgrind-test-art-host-gtest-arena_allocator_test
Mathieu Chartier [Tue, 23 Aug 2016 01:56:10 +0000 (01:56 +0000)]
Merge "Improve art_quick_resolve_string for arm64 CC"
am:
38d4d54903
Change-Id: I469b2f930876de78cf2e176bd21a3a33fe309f29
Mathieu Chartier [Tue, 23 Aug 2016 01:46:28 +0000 (01:46 +0000)]
Merge "Improve art_quick_resolve_string for arm64 CC"
Colin Cross [Tue, 23 Aug 2016 01:30:26 +0000 (01:30 +0000)]
Merge "Fix build"
am:
48d2b14feb
Change-Id: I545501b86800329f2540b25a35cf1473f36e9076
Treehugger Robot [Tue, 23 Aug 2016 01:18:58 +0000 (01:18 +0000)]
Merge "Fix build"