OSDN Git Service

android-x86/art.git
7 years agoRevert "Re-enable boot image string sharpening."
Vladimir Marko [Thu, 1 Sep 2016 15:33:04 +0000 (15:33 +0000)]
Revert "Re-enable boot image string sharpening."

The boot image may not contain the target String.

Bug: 20323084
Bug: 31239436

This reverts commit 9ed010e43c729a801089307c55f20f6d4df8271c.

Change-Id: Id299619ff9866bacd5098f76836355878a478042

7 years agoRe-enable boot image string sharpening.
Vladimir Marko [Tue, 30 Aug 2016 16:36:24 +0000 (17:36 +0100)]
Re-enable boot image string sharpening.

Test: Run ART test suite with ART_TEST_PIC_IMAGE=true on host and Nexus 9.
Bug: 20323084
Change-Id: Ifc10e4b6f5078f599711bd84be0cec53494af3af

7 years agoMerge "Re-enable evacuation of recently allocated regions"
Mathieu Chartier [Tue, 30 Aug 2016 00:14:53 +0000 (00:14 +0000)]
Merge "Re-enable evacuation of recently allocated regions"

7 years agoMerge "ART: Fix libnativebridgetest dependencies"
Treehugger Robot [Mon, 29 Aug 2016 19:51:04 +0000 (19:51 +0000)]
Merge "ART: Fix libnativebridgetest dependencies"

7 years agoMerge "ART: Fix symbols"
Treehugger Robot [Mon, 29 Aug 2016 18:27:39 +0000 (18:27 +0000)]
Merge "ART: Fix symbols"

7 years agoART: Fix libnativebridgetest dependencies
Andreas Gampe [Mon, 29 Aug 2016 18:18:37 +0000 (11:18 -0700)]
ART: Fix libnativebridgetest dependencies

Fix typo.

Test: m test-art-host
Change-Id: I1a272a8aa2a114c108cc306164df78f568be20d7

7 years agoRe-enable evacuation of recently allocated regions
Mathieu Chartier [Sat, 27 Aug 2016 20:27:06 +0000 (13:27 -0700)]
Re-enable evacuation of recently allocated regions

Reduces RAM since these regions usually have a low live % per
the generational hypothesis. Since these get collected earlier it
means the average heap size goes down.

60s after booting N6P CC before (average of 8 samples):
Dalvik .Heap PSS system wide: 28711K

After:
Dalvik .Heap PSS system wide: 18757.5K

EAAC: 1305 -> 1274 (30 samples)

Test: test-art-host CC baker and debug phone bootin

Bug: 12687968
Bug: 30124683

Change-Id: I30465be4525855ee3b78e6fafa5577a78d365bf4

7 years agoART: Fix symbols
Andreas Gampe [Mon, 29 Aug 2016 15:51:15 +0000 (08:51 -0700)]
ART: Fix symbols

Follow-up to 1f7f3bd26ecad4366c904b7e7d05587fc7a83ea2

Test: m test-art-host
Test: readelf -s $OUT/system/lib/libart.so
Change-Id: I70b25bf65e09eb984d0f533fa19638ffbec12b3c

7 years agoMerge "Revert "Blacklist failing libcore tests.""
Treehugger Robot [Mon, 29 Aug 2016 09:46:02 +0000 (09:46 +0000)]
Merge "Revert "Blacklist failing libcore tests.""

7 years agoRevert "Blacklist failing libcore tests."
Narayan Kamath [Wed, 24 Aug 2016 08:16:23 +0000 (08:16 +0000)]
Revert "Blacklist failing libcore tests."

This reverts commit fb7658b728690592938dfedc57231ade4e7bd870.

Fixed by commit 856bdfb2bd47e91950182d0c1427944e8e2ab771

Change-Id: I5977cc63f867c51c62de61dbed64cdb444d0dfbf
bug: 30917411
test: run cts -c org.apache.harmony.tests.java.math.BigIntegerTest

7 years agoMerge "WIP: ART: Clean p x86_64 string dex cache asm."
Mathieu Chartier [Sat, 27 Aug 2016 20:19:40 +0000 (20:19 +0000)]
Merge "WIP: ART: Clean p x86_64 string dex cache asm."

7 years agoMerge "ART: Add STRING_DEX_CACHE_ELEMENT_SIZE"
Mathieu Chartier [Sat, 27 Aug 2016 20:19:10 +0000 (20:19 +0000)]
Merge "ART: Add STRING_DEX_CACHE_ELEMENT_SIZE"

7 years agoMerge "Ignore -Wunreachable-code for ClassTable::UpdateClass"
Pirama Arumuga Nainar [Fri, 26 Aug 2016 22:38:00 +0000 (22:38 +0000)]
Merge "Ignore -Wunreachable-code for ClassTable::UpdateClass"

7 years agoIgnore -Wunreachable-code for ClassTable::UpdateClass
Pirama Arumuga Nainar [Fri, 26 Aug 2016 06:42:50 +0000 (23:42 -0700)]
Ignore -Wunreachable-code for ClassTable::UpdateClass

Bug: http://b/30421084
Bug: http://b/31104323

Clang triggers -Wunreachable-code in runtime/class_table.cc.  Disable
the one instance of this warning until we can investigate (and fix) the
Clang regression.

Change-Id: Ib292009c6d639f540d6b31e793d8aa89dd861b9e
Test: Tested build, boot and common usage for several devices images in
AOSP and internal branch.

7 years agoMerge "Fix a race condition on GC timing logger data."
Treehugger Robot [Fri, 26 Aug 2016 20:22:44 +0000 (20:22 +0000)]
Merge "Fix a race condition on GC timing logger data."

7 years agoFix a race condition on GC timing logger data.
Hiroshi Yamauchi [Fri, 26 Aug 2016 17:39:29 +0000 (10:39 -0700)]
Fix a race condition on GC timing logger data.

The GC timing logger data is thread local to the GC thread and
shouldn't be used by a mutator. The original intention was to have a
systrace scope.

This should fix the 004-JniTest failures.

Bug: 30980189
Bug: 29517059
Bug: 12687968
Test: test-art-host
Change-Id: Ibc8cfbfdd64d85ff65bf220d3022fc8fdf1064f2

7 years agoMerge "Fix ODR violation"
Treehugger Robot [Fri, 26 Aug 2016 18:32:23 +0000 (18:32 +0000)]
Merge "Fix ODR violation"

7 years agoFix ODR violation
Colin Cross [Fri, 26 Aug 2016 16:59:03 +0000 (09:59 -0700)]
Fix ODR violation

Switch everything to libziparchive instead of libziparchive-host to
prevent ODR violations.

Change-Id: Iadbe6bd22d5560621a5119d0bcc5bb829f476f6f

7 years agoMerge "ARM/MIPS: Avoid dead dex cache arrays base for intrinsics."
Treehugger Robot [Fri, 26 Aug 2016 16:19:59 +0000 (16:19 +0000)]
Merge "ARM/MIPS: Avoid dead dex cache arrays base for intrinsics."

7 years agoMerge "Tracking java.lang.reflect.Executable changes"
Treehugger Robot [Fri, 26 Aug 2016 15:03:21 +0000 (15:03 +0000)]
Merge "Tracking java.lang.reflect.Executable changes"

7 years agoMerge "ARM: Make runtime invokes use InvokeRuntime()."
Roland Levillain [Fri, 26 Aug 2016 14:56:39 +0000 (14:56 +0000)]
Merge "ARM: Make runtime invokes use InvokeRuntime()."

7 years agoARM/MIPS: Avoid dead dex cache arrays base for intrinsics.
Vladimir Marko [Fri, 26 Aug 2016 12:13:33 +0000 (13:13 +0100)]
ARM/MIPS: Avoid dead dex cache arrays base for intrinsics.

Test: Run ART test suite on host and Nexus 6.
Change-Id: Ie2ad70f1e3f125eae5dad53a6384d405e0311505

7 years agoTracking java.lang.reflect.Executable changes
Neil Fuller [Fri, 12 Aug 2016 08:37:02 +0000 (09:37 +0100)]
Tracking java.lang.reflect.Executable changes

Added a method to Class: total vtable entries increases
by one.

Handling knock-ons of introducing Executable into the
class hierarchy above AbstractMethod.

Rearranging java_lang_reflect_*.cc code to track libcore
changes that reduce duplication between Constructor / Method
/ Executable and AbstractMethod and track the OpenJDK 8
more closely.

Bug: 28666126
Change-Id: I6b5c476a14b8ea25556c35448431de744519b6c2

7 years agoARM: Make runtime invokes use InvokeRuntime().
Serban Constantinescu [Wed, 22 Jun 2016 16:04:45 +0000 (17:04 +0100)]
ARM: Make runtime invokes use InvokeRuntime().

This patch refactors all of the ARM Optimizing compiler runtime
invokes to use InvokeRuntime(). It also fixes some misuses of
RecordPcInfo().

Change-Id: I722bc2ba95e42ff69ca12c3edc09326e0de2881f

7 years agoMerge "Address missing variable definition to fix the build."
Roland Levillain [Fri, 26 Aug 2016 10:22:29 +0000 (10:22 +0000)]
Merge "Address missing variable definition to fix the build."

7 years agoAddress missing variable definition to fix the build.
Roland Levillain [Fri, 26 Aug 2016 10:17:44 +0000 (11:17 +0100)]
Address missing variable definition to fix the build.

It was removed by another CL merged just before the
offending CL.

Test: m build-art-host
Bug: 29516974
Bug: 29506760
Bug: 12687968
Change-Id: I4457b6dafd48731eef5c8cc370d9107764d6f55c

7 years agoMerge "Re-enable the ArraySet fast path with Baker read barriers."
Roland Levillain [Fri, 26 Aug 2016 09:51:01 +0000 (09:51 +0000)]
Merge "Re-enable the ArraySet fast path with Baker read barriers."

7 years agoMerge "Fix mac builds"
Treehugger Robot [Fri, 26 Aug 2016 02:40:55 +0000 (02:40 +0000)]
Merge "Fix mac builds"

7 years agoMerge "Bisection bug search tool"
Treehugger Robot [Fri, 26 Aug 2016 02:14:53 +0000 (02:14 +0000)]
Merge "Bisection bug search tool"

7 years agoMerge "Background full compaction for CC."
Treehugger Robot [Fri, 26 Aug 2016 02:01:06 +0000 (02:01 +0000)]
Merge "Background full compaction for CC."

7 years agoMerge "MIPS64: Improve non-trivial 64-bit constant loading."
Aart Bik [Fri, 26 Aug 2016 00:48:38 +0000 (00:48 +0000)]
Merge "MIPS64: Improve non-trivial 64-bit constant loading."

7 years agoBackground full compaction for CC.
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

7 years agoMerge "Fix arm32 build"
Colin Cross [Fri, 26 Aug 2016 00:33:47 +0000 (00:33 +0000)]
Merge "Fix arm32 build"

7 years agoMerge "Remove libLLVM* from art"
Colin Cross [Fri, 26 Aug 2016 00:11:43 +0000 (00:11 +0000)]
Merge "Remove libLLVM* from art"

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

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

7 years agoBisection bug search tool
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

7 years agoRemove libLLVM* from art
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

7 years agoMerge "Convert libart and dependencies to Android.bp"
Treehugger Robot [Thu, 25 Aug 2016 22:18:01 +0000 (22:18 +0000)]
Merge "Convert libart and dependencies to Android.bp"

7 years agoWIP: ART: Clean p x86_64 string dex cache asm.
Christina Wadsworth [Thu, 25 Aug 2016 20:38:49 +0000 (13:38 -0700)]
WIP: ART: Clean p x86_64 string dex cache asm.

Change-Id: Ic3a665f6b702ad70f8101df2f96e83c3c8903a8e
Test: test-art-host

7 years agoART: Add STRING_DEX_CACHE_ELEMENT_SIZE
Christina Wadsworth [Thu, 25 Aug 2016 21:45:51 +0000 (14:45 -0700)]
ART: Add STRING_DEX_CACHE_ELEMENT_SIZE

Change-Id: Ib484d959bd7eac3793ce508e1d608f2c7402927b

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

7 years agoMerge "ArraySet without type check does not need read barrier."
Vladimir Marko [Thu, 25 Aug 2016 19:52:01 +0000 (19:52 +0000)]
Merge "ArraySet without type check does not need read barrier."

7 years agoMerge "Fix VIXL assembler test for heap-poisoning configurations."
Treehugger Robot [Thu, 25 Aug 2016 18:43:08 +0000 (18:43 +0000)]
Merge "Fix VIXL assembler test for heap-poisoning configurations."

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

7 years agoMerge "ARM64: Make runtime invokes use InvokeRuntime()."
Roland Levillain [Thu, 25 Aug 2016 16:54:43 +0000 (16:54 +0000)]
Merge "ARM64: Make runtime invokes use InvokeRuntime()."

7 years agoRe-enable the ArraySet fast path with Baker read barriers.
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

7 years agoMerge "ARM64: Use the zero register for field and array set operations."
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."

7 years agoARM64: Make runtime invokes use InvokeRuntime().
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

7 years agoMerge "ARM: VIXL32: Update the trampoline compiler."
Treehugger Robot [Thu, 25 Aug 2016 15:12:37 +0000 (15:12 +0000)]
Merge "ARM: VIXL32: Update the trampoline compiler."

7 years agoMerge "ARM: VIXL32: Switch JNI compiler to use VIXL Assembler."
Treehugger Robot [Thu, 25 Aug 2016 15:12:19 +0000 (15:12 +0000)]
Merge "ARM: VIXL32: Switch JNI compiler to use VIXL Assembler."

7 years agoMerge "ARM: VIXL32: Implement VIXL-based assembler."
Treehugger Robot [Thu, 25 Aug 2016 15:11:52 +0000 (15:11 +0000)]
Merge "ARM: VIXL32: Implement VIXL-based assembler."

7 years agoArraySet without type check does not need read barrier.
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

7 years agoARM64: Use the zero register for field and array set operations.
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

7 years agoMerge "ARM: Purge Arm32Assembler."
Roland Levillain [Thu, 25 Aug 2016 12:19:36 +0000 (12:19 +0000)]
Merge "ARM: Purge Arm32Assembler."

7 years agoMerge "MIPS32: Refactor implicit null checks in array/field get/set."
Vladimir Marko [Thu, 25 Aug 2016 11:18:23 +0000 (11:18 +0000)]
Merge "MIPS32: Refactor implicit null checks in array/field get/set."

7 years agoMerge "Remove duplicate entries with libcore expectation files."
Nicolas Geoffray [Thu, 25 Aug 2016 09:14:35 +0000 (09:14 +0000)]
Merge "Remove duplicate entries with libcore expectation files."

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

7 years agoMerge "Revert "Revert "Fix debugger calling new String()."""
Treehugger Robot [Thu, 25 Aug 2016 05:51:36 +0000 (05:51 +0000)]
Merge "Revert "Revert "Fix debugger calling new String()."""

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

7 years agoMerge "Revert "Convert libart and dependencies to Android.bp""
Colin Cross [Thu, 25 Aug 2016 01:05:27 +0000 (01:05 +0000)]
Merge "Revert "Convert libart and dependencies to Android.bp""

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

7 years agoMerge "Convert libart and dependencies to Android.bp"
Treehugger Robot [Thu, 25 Aug 2016 00:31:20 +0000 (00:31 +0000)]
Merge "Convert libart and dependencies to Android.bp"

7 years agoMIPS32: Refactor implicit null checks in array/field get/set.
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

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

Test: mma -j, m -j test-art-host
Change-Id: I73839046a5a53eb34cd28eea53149911c568e411

7 years agoMerge "Avoid CAS for marking region space bitmap for baker"
Treehugger Robot [Wed, 24 Aug 2016 21:53:50 +0000 (21:53 +0000)]
Merge "Avoid CAS for marking region space bitmap for baker"

7 years agoMIPS64: Improve non-trivial 64-bit constant loading.
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

7 years agoAvoid CAS for marking region space bitmap for baker
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.

7 years agoMerge "ART: Remove vestiges of GCC"
Andreas Gampe [Wed, 24 Aug 2016 17:21:18 +0000 (17:21 +0000)]
Merge "ART: Remove vestiges of GCC"
am: 8aea8dbca6

Change-Id: I6bf7a971949ccbc0aa2d008a1264c7f3c880b9fb

7 years agoMerge "ART: Remove vestiges of GCC"
Treehugger Robot [Wed, 24 Aug 2016 17:09:42 +0000 (17:09 +0000)]
Merge "ART: Remove vestiges of GCC"

7 years agoMerge "Revert "Revert "x86/x86-64: Avoid temporary for read barrier field load."""
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

7 years agoMerge "Revert "Fix debugger calling new String().""
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

7 years agoMerge "Revert "Fix debugger missing handle between adding and tagging object.""
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

7 years agoMerge "Revert "Revert "x86/x86-64: Avoid temporary for read barrier field load."""
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."""

7 years agoMerge "Revert "Fix debugger calling new String().""
Nicolas Geoffray [Wed, 24 Aug 2016 13:48:47 +0000 (13:48 +0000)]
Merge "Revert "Fix debugger calling new String().""

7 years agoMerge "Revert "Fix debugger missing handle between adding and tagging object.""
Nicolas Geoffray [Wed, 24 Aug 2016 13:48:08 +0000 (13:48 +0000)]
Merge "Revert "Fix debugger missing handle between adding and tagging object.""

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

7 years agoRevert "Fix debugger calling new String()."
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

7 years agoMerge "Fix for package name test break in ART"
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

7 years agoMerge "Fix for package name test break in ART"
Neil Fuller [Wed, 24 Aug 2016 13:14:19 +0000 (13:14 +0000)]
Merge "Fix for package name test break in ART"

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

7 years agoRevert "Revert "x86/x86-64: Avoid temporary for read barrier field load.""
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

7 years agoMerge "ART: unblock compiler tests on MIPS"
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

7 years agoMerge "ART: unblock compiler tests on MIPS"
Treehugger Robot [Wed, 24 Aug 2016 09:58:59 +0000 (09:58 +0000)]
Merge "ART: unblock compiler tests on MIPS"

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

7 years agoMerge "ART: Remove -std=gnu++11"
Andreas Gampe [Wed, 24 Aug 2016 05:10:23 +0000 (05:10 +0000)]
Merge "ART: Remove -std=gnu++11"
am: c67d22ac6d

Change-Id: I2f25500995f5338ffaa593afc1f278bdcf0305b9

7 years agoMerge "ART: Remove -std=gnu++11"
Treehugger Robot [Wed, 24 Aug 2016 05:04:32 +0000 (05:04 +0000)]
Merge "ART: Remove -std=gnu++11"

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

7 years agoMerge "Revert "Make dchecked_vector C++11 compatible.""
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

7 years agoMerge "ART: Improve art_quick_resolve_string for x86."
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

7 years agoMerge "Revert "Make dchecked_vector C++11 compatible.""
Treehugger Robot [Wed, 24 Aug 2016 03:01:49 +0000 (03:01 +0000)]
Merge "Revert "Make dchecked_vector C++11 compatible.""

7 years agoMerge "ART: Improve art_quick_resolve_string for x86."
Treehugger Robot [Wed, 24 Aug 2016 02:57:47 +0000 (02:57 +0000)]
Merge "ART: Improve art_quick_resolve_string for x86."

7 years agoMerge "ART: Improve art_quick_resolve_string for x86_64."
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

7 years agoRevert "Make dchecked_vector C++11 compatible."
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

7 years agoMerge "ART: Improve art_quick_resolve_string for x86_64."
Treehugger Robot [Wed, 24 Aug 2016 01:22:01 +0000 (01:22 +0000)]
Merge "ART: Improve art_quick_resolve_string for x86_64."

7 years agoART: Remove vestiges of GCC
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

7 years agoMerge "creating workflow for mirror::String compression"
jessicahandojo [Wed, 24 Aug 2016 00:56:11 +0000 (00:56 +0000)]
Merge "creating workflow for mirror::String compression"
am: 51a0c4fe2d

Change-Id: I55512bf99146756d18733c75972362dc1bb6ad0c

7 years agoMerge "creating workflow for mirror::String compression"
Treehugger Robot [Wed, 24 Aug 2016 00:50:38 +0000 (00:50 +0000)]
Merge "creating workflow for mirror::String compression"

7 years agoMerge "ART: Validate oat file for cache-only images"
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

7 years agoMerge "ART: Validate oat file for cache-only images"
Treehugger Robot [Tue, 23 Aug 2016 23:55:41 +0000 (23:55 +0000)]
Merge "ART: Validate oat file for cache-only images"