OSDN Git Service

android-x86/art.git
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 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"

7 years agoART: Improve art_quick_resolve_string for x86.
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

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

7 years agoMerge "ART: Improve art_quick_resolve_string for arm."
Treehugger Robot [Tue, 23 Aug 2016 23:07:36 +0000 (23:07 +0000)]
Merge "ART: Improve art_quick_resolve_string for arm."

7 years agoART: Improve art_quick_resolve_string for x86_64.
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

7 years agocreating workflow for mirror::String compression
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

7 years agoMerge "ART: Separate out Realloc reuse and alignment tests"
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

7 years agoMerge "ART: Separate out Realloc reuse and alignment tests"
Treehugger Robot [Tue, 23 Aug 2016 21:21:00 +0000 (21:21 +0000)]
Merge "ART: Separate out Realloc reuse and alignment tests"

7 years agoMerge "Ongoing improvements in java fuzz testing"
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

7 years agoMerge "Ongoing improvements in java fuzz testing"
Aart Bik [Tue, 23 Aug 2016 18:33:00 +0000 (18:33 +0000)]
Merge "Ongoing improvements in java fuzz testing"

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

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

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

7 years agoART: Improve art_quick_resolve_string for arm.
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

7 years agoMerge "ART: Clean up interpreter includes"
Andreas Gampe [Tue, 23 Aug 2016 15:56:01 +0000 (15:56 +0000)]
Merge "ART: Clean up interpreter includes"
am: 6abf237391

Change-Id: I439817deae3d8de01158c0a4c81736877a651c2d

7 years agoMerge "ART: Clean up interpreter includes"
Treehugger Robot [Tue, 23 Aug 2016 15:35:14 +0000 (15:35 +0000)]
Merge "ART: Clean up interpreter includes"

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

7 years agoMerge "x86/x86-64: Avoid temporary for read barrier field load."
Treehugger Robot [Tue, 23 Aug 2016 12:36:53 +0000 (12:36 +0000)]
Merge "x86/x86-64: Avoid temporary for read barrier field load."

7 years agox86/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

7 years agoART: Clean up interpreter includes
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

7 years agoMerge "Use full pass name when building optimizations"
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

7 years agoMerge "MIPS32: Optimize R6 round(float) intrinsic."
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

7 years agoMerge "Use full pass name when building optimizations"
Treehugger Robot [Tue, 23 Aug 2016 02:57:21 +0000 (02:57 +0000)]
Merge "Use full pass name when building optimizations"

7 years agoMerge "MIPS32: Optimize R6 round(float) intrinsic."
Treehugger Robot [Tue, 23 Aug 2016 02:49:26 +0000 (02:49 +0000)]
Merge "MIPS32: Optimize R6 round(float) intrinsic."

7 years agoART: Separate out Realloc reuse and alignment tests
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

7 years agoMerge "Improve art_quick_resolve_string for arm64 CC"
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

7 years agoMerge "Improve art_quick_resolve_string for arm64 CC"
Mathieu Chartier [Tue, 23 Aug 2016 01:46:28 +0000 (01:46 +0000)]
Merge "Improve art_quick_resolve_string for arm64 CC"

7 years agoMerge "Fix build"
Colin Cross [Tue, 23 Aug 2016 01:30:26 +0000 (01:30 +0000)]
Merge "Fix build"
am: 48d2b14feb

Change-Id: I545501b86800329f2540b25a35cf1473f36e9076

7 years agoMerge "Fix build"
Treehugger Robot [Tue, 23 Aug 2016 01:18:58 +0000 (01:18 +0000)]
Merge "Fix build"