OSDN Git Service

android-x86/art.git
7 years agoMerge "Prune uses library classes even without profile"
Mathieu Chartier [Tue, 13 Dec 2016 19:24:35 +0000 (19:24 +0000)]
Merge "Prune uses library classes even without profile"

7 years agoMerge "Fix CC DCHECK failure in 152-gc-and-run-finalization."
Hiroshi Yamauchi [Tue, 13 Dec 2016 17:55:33 +0000 (17:55 +0000)]
Merge "Fix CC DCHECK failure in 152-gc-and-run-finalization."

7 years agoMerge "Remove obsolete DeduplicateDexCacheAddressLiteral()."
Vladimir Marko [Tue, 13 Dec 2016 15:37:09 +0000 (15:37 +0000)]
Merge "Remove obsolete DeduplicateDexCacheAddressLiteral()."

7 years agoMerge "ARM: VIXL32: Test both current and new assemblers with optimizing_cfi_test."
Nicolas Geoffray [Tue, 13 Dec 2016 13:57:39 +0000 (13:57 +0000)]
Merge "ARM: VIXL32: Test both current and new assemblers with optimizing_cfi_test."

7 years agoRemove obsolete DeduplicateDexCacheAddressLiteral().
Vladimir Marko [Tue, 13 Dec 2016 13:50:14 +0000 (13:50 +0000)]
Remove obsolete DeduplicateDexCacheAddressLiteral().

Test: Rely on TreeHugger
Bug: 30627598
Change-Id: Ia3c7a1d528f62b730d7ac1cc7b67f21d9ff06c9e

7 years agoMerge "Disable 626-const-class-linking for JIT."
Vladimir Marko [Tue, 13 Dec 2016 12:36:49 +0000 (12:36 +0000)]
Merge "Disable 626-const-class-linking for JIT."

7 years agoMerge "Fix string compression for embedded zero chars."
Treehugger Robot [Tue, 13 Dec 2016 12:04:20 +0000 (12:04 +0000)]
Merge "Fix string compression for embedded zero chars."

7 years agoDisable 626-const-class-linking for JIT.
Vladimir Marko [Tue, 13 Dec 2016 10:37:07 +0000 (10:37 +0000)]
Disable 626-const-class-linking for JIT.

Test: m ART_TEST_JIT=true test-art-host; test skipped.
Bug: 33567581
Change-Id: Ib530a27b14d918bc8a24f85473c8705f023280b0

7 years agoFix string compression for embedded zero chars.
Vladimir Marko [Fri, 9 Dec 2016 14:01:02 +0000 (14:01 +0000)]
Fix string compression for embedded zero chars.

Treat embedded zero character as non-ASCII.

Test: m test-art-host
Test: m test-art-host with string compression enabled.
Bug: 31040547
Change-Id: Iea6e92f89d424953814953ba27f1c7a991589c65

7 years agoMerge "Revert "Revert "Add kJitTableAddress for HLoadClass."""
Nicolas Geoffray [Tue, 13 Dec 2016 09:34:11 +0000 (09:34 +0000)]
Merge "Revert "Revert "Add kJitTableAddress for HLoadClass."""

7 years agoMerge "ART: Add missing space in log line"
Treehugger Robot [Mon, 12 Dec 2016 23:31:26 +0000 (23:31 +0000)]
Merge "ART: Add missing space in log line"

7 years agoRevert "Revert "Add kJitTableAddress for HLoadClass.""
Nicolas Geoffray [Mon, 12 Dec 2016 22:33:36 +0000 (22:33 +0000)]
Revert "Revert "Add kJitTableAddress for HLoadClass.""

This reverts commit d2d5262c8370309e1f2a009f00aafc24f1cf00a0.

Change-Id: I6149d5c7d5df0b0fc5cb646a802a2eea8d01ac08

7 years agoPrune uses library classes even without profile
Mathieu Chartier [Fri, 5 Aug 2016 23:09:09 +0000 (16:09 -0700)]
Prune uses library classes even without profile

The previous pruning relied on the classes being pruned from the
profile, and then using the profile to prune classes. If there was
no profile, the uses library classes were incorrectly left unpruned.

Leaving these classes unpruned caused aborts during compilation.

Bug: 30688277

Test: adb shell dex2oat --runtime-arg -classpath --runtime-arg /system/framework/com.google.android.maps.jar --dex-file=/data/app/comb.BBClient-1/base.apk --dex-location=/data/app/comb.BBClient-1/base.apk --oat-file=/data/app/comb.BBClient-1/oat/arm/base.odex  --app-image-file=/data/app/comb.BBClient-1/oat/arm/base.art --image-format=lz4 --compiler-filter=speed

Change-Id: I261b8894847b5b0a4f7330f49666e823a1b38bb0

7 years agoART: Add missing space in log line
Andreas Gampe [Mon, 12 Dec 2016 21:49:00 +0000 (13:49 -0800)]
ART: Add missing space in log line

Follow-up to commit c560fc0b430816825add4125134b20eb791f6036.

Test: m
Change-Id: Ie558b2984ec629706d2122eca9dd96b8c3497298

7 years agoMerge changes Ieb86f678,I8e7280f0
Treehugger Robot [Mon, 12 Dec 2016 21:38:28 +0000 (21:38 +0000)]
Merge changes Ieb86f678,I8e7280f0

* changes:
  ART: Stack locals
  ART: Add precise root visiting

7 years agoMerge "Disable test 964 with no-image"
Alex Light [Mon, 12 Dec 2016 21:33:25 +0000 (21:33 +0000)]
Merge "Disable test 964 with no-image"

7 years agoMerge "ART: Report cputime in dex2oat"
Treehugger Robot [Mon, 12 Dec 2016 21:29:20 +0000 (21:29 +0000)]
Merge "ART: Report cputime in dex2oat"

7 years agoART: Stack locals
Andreas Gampe [Fri, 2 Dec 2016 22:42:33 +0000 (14:42 -0800)]
ART: Stack locals

Add reporting of stack-locals roots. Use the new
precise root visiting to get dalvik register
information for compiled frames.

Bug: 31385354
Test: m test-art-host-run-test-913-heaps
Change-Id: Ieb86f67829e546692c30faa08eb44e8dcf2b2c6a

7 years agoART: Add precise root visiting
Andreas Gampe [Fri, 2 Dec 2016 22:52:29 +0000 (14:52 -0800)]
ART: Add precise root visiting

Add VisitRootFlags::kVisitRootFlagPrecise to signal a
request for precise RootInfo objects.

Move VisitRootFlags to gc_root.h. Refactor VisitRoot
functions to pass flags. Add code in Thread visiting
to decode vregs in compiled code.

Bug: 31385354
Test: m test-art-host
Change-Id: I8e7280f0ab682871f729f2a1c6b18670cf2dbf82

7 years agoART: Report cputime in dex2oat
Andreas Gampe [Wed, 16 Jul 2014 16:57:39 +0000 (09:57 -0700)]
ART: Report cputime in dex2oat

Add ProcessCpuNanoTime. Log cputime in dex2oat completion message.

Sample:

 dex2oat took 20.036s(64.843s cpu) (threads: 48) arena alloc=25MB (26760672B) java alloc=2MB (2311688B) native alloc=44MB (46792784B) free=35MB (37502896B)

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

7 years agoMerge "ART: Implement FollowReferences for initial object"
Treehugger Robot [Mon, 12 Dec 2016 19:16:43 +0000 (19:16 +0000)]
Merge "ART: Implement FollowReferences for initial object"

7 years agoDisable test 964 with no-image
Alex Light [Mon, 12 Dec 2016 18:39:50 +0000 (10:39 -0800)]
Disable test 964 with no-image

It often times out due to the large number of classes involved in the
test. Since it doesn't test anything particularly interesting for the
no-image case we are disabling it to reduce flakiness.

Test: TEST_ART_RUN_TEST_NO_IMAGE=true mma -j40 test-art-host
Change-Id: I9e51481e52dd1eb332d7563795f490b0e97001a5

7 years agoMerge "Use store release for resolved types"
Mathieu Chartier [Mon, 12 Dec 2016 18:32:57 +0000 (18:32 +0000)]
Merge "Use store release for resolved types"

7 years agoMerge "Revert "Add kJitTableAddress for HLoadClass.""
Nicolas Geoffray [Mon, 12 Dec 2016 16:29:18 +0000 (16:29 +0000)]
Merge "Revert "Add kJitTableAddress for HLoadClass.""

7 years agoRevert "Add kJitTableAddress for HLoadClass."
Nicolas Geoffray [Mon, 12 Dec 2016 16:28:54 +0000 (16:28 +0000)]
Revert "Add kJitTableAddress for HLoadClass."

One test failure after merge.

This reverts commit 5b12f7973636bfea29da3956a9baa7a6bbe2b666.

Change-Id: I120c49e53274471fc1c82a10d52e99c83f5f85cc

7 years agoMerge "Add kJitTableAddress for HLoadClass."
Nicolas Geoffray [Mon, 12 Dec 2016 15:26:10 +0000 (15:26 +0000)]
Merge "Add kJitTableAddress for HLoadClass."

7 years agoARM: VIXL32: Test both current and new assemblers with optimizing_cfi_test.
Scott Wakeling [Thu, 8 Dec 2016 10:25:03 +0000 (10:25 +0000)]
ARM: VIXL32: Test both current and new assemblers with optimizing_cfi_test.

Test: m test-art-host

Change-Id: I71b97113d9bc3ad5abe5f5f89a0d94c243c8f2e2

7 years agoAdd kJitTableAddress for HLoadClass.
Nicolas Geoffray [Fri, 9 Dec 2016 11:26:35 +0000 (11:26 +0000)]
Add kJitTableAddress for HLoadClass.

This new kind loads classes from the root table associated with
JIT compiled code.

Also remove kDexCacheAddress, which is replaced by kJitTableAddress.

test: ART_TEST_JIT=true test-art-host-jit test-art-target-jit
Change-Id: Ia23029688d1a60c178bf2ffa7463927c5d5de4d0

7 years agoMerge "Revert "Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrame...
Nicolas Geoffray [Mon, 12 Dec 2016 10:30:24 +0000 (10:30 +0000)]
Merge "Revert "Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry."""

7 years agoMerge "Revert^8 "Make sure that const-class linkage is preserved.""
Vladimir Marko [Mon, 12 Dec 2016 10:29:49 +0000 (10:29 +0000)]
Merge "Revert^8 "Make sure that const-class linkage is preserved.""

7 years agoMerge "Use System.out only."
Nicolas Geoffray [Mon, 12 Dec 2016 10:17:56 +0000 (10:17 +0000)]
Merge "Use System.out only."

7 years agoUse System.out only.
Nicolas Geoffray [Sun, 11 Dec 2016 22:05:15 +0000 (22:05 +0000)]
Use System.out only.

Otherwise streams can get interleaved when printing.

test: 956-methodhandles
Change-Id: Ie734e24ed5bb73786e1972df784b365176bfd593

7 years agoART: Implement FollowReferences for initial object
Andreas Gampe [Sat, 3 Dec 2016 03:11:17 +0000 (19:11 -0800)]
ART: Implement FollowReferences for initial object

Add code for FollowReferences with initial object. Simply skip
root visiting and add the initial object to the work list.

Bug: 31385354
Test: m test-art-host-run-test-913-heaps
Change-Id: I7d2a852fac54b13219df975d131f5b95e8094d9b

7 years agoUse store release for resolved types
Mathieu Chartier [Wed, 7 Dec 2016 00:02:27 +0000 (16:02 -0800)]
Use store release for resolved types

For DefineClass, use a release store for SetResolvedType. This is
done to prevent other threads from seeing a class but not necessarily
seeing the loaded members like the static fields array.

It is theorized that a load acquire is not required since obtaining
the resolved class will always have an address depedency or a lock.

Bug: 32075261

Test: test-art-host

Change-Id: I8ab18edc2cc7c9eb4a30897903d5cf1c7f9eb24e

7 years agoMerge "Added polynomial induction variables analysis. With tests."
Treehugger Robot [Fri, 9 Dec 2016 21:48:43 +0000 (21:48 +0000)]
Merge "Added polynomial induction variables analysis. With tests."

7 years agoAdded polynomial induction variables analysis. With tests.
Aart Bik [Tue, 6 Dec 2016 18:05:30 +0000 (10:05 -0800)]
Added polynomial induction variables analysis. With tests.

Rationale:
Information on polynomial sequences is nice to further enhance
BCE and last-value assignment. In this case, this CL enables more
loop optimizations for benchpress' Sum (80 x speedup). Also
changed rem-based geometric induction to wrap-around induction.

Test: test-art-host

Change-Id: Ie4d2659edefb814edda2c971c1f70ba400c31111

7 years agoMerge "Clean up Class::GetDirectInterface()."
Vladimir Marko [Fri, 9 Dec 2016 15:36:53 +0000 (15:36 +0000)]
Merge "Clean up Class::GetDirectInterface()."

7 years agoClean up Class::GetDirectInterface().
Vladimir Marko [Thu, 8 Dec 2016 14:41:46 +0000 (14:41 +0000)]
Clean up Class::GetDirectInterface().

Once the `klass` has been resolved, this function should not
need to resolve interface types anymore. Drop the type
resolution from this function and pass the Class as ObjPtr<>
instead of Handle<>. Make callers that expect non-null
result DCHECK() that assumption. For the callers that may
actually need to resolve these interface classes, introduce
a new function ResolveDirectInterface().

Also improve ObjPtr<> constructors and assignment operator
to improve overload resolution. For example, if we have
foo(ObjPtr<T1>) and foo(ObjPtr<T2>), calling foo(.) with
a T1* would have previously been ambiguous even if T1 is
not a base of T2.

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

7 years agoRevert^8 "Make sure that const-class linkage is preserved."
Vladimir Marko [Fri, 9 Dec 2016 10:20:54 +0000 (10:20 +0000)]
Revert^8 "Make sure that const-class linkage is preserved."

Replaced two ReaderMutexLocks with WriterMutexLocks.
Removed some unnecessary debugging output.

Test: m test-art-host
Bug: 30627598
Original-Change-Id: Ie9b721464b4e9a5dcce8df8095548e983bba1fe8

This reverts commit 2c8c6b63da6ecb2ac701cc30f9b4fa4a8eea5cc8.

Change-Id: I3a1aeecf64e4b202cef61cceb248d48106a2f4a6

7 years agoMerge "ARM: VIXL32: Implement read barriers."
Nicolas Geoffray [Fri, 9 Dec 2016 11:23:42 +0000 (11:23 +0000)]
Merge "ARM: VIXL32: Implement read barriers."

7 years agoMerge "Revert "ART: Remove workaround in verifer after Jack update.""
Orion Hodson [Thu, 8 Dec 2016 14:26:09 +0000 (14:26 +0000)]
Merge "Revert "ART: Remove workaround in verifer after Jack update.""

7 years agoRevert "ART: Remove workaround in verifer after Jack update."
Orion Hodson [Thu, 8 Dec 2016 14:15:25 +0000 (14:15 +0000)]
Revert "ART: Remove workaround in verifer after Jack update."

This reverts commit 1aab04df52529d3cabe28fd9f0cb008bf8180a56.

Change-Id: Ifecad6a16f2c6dfeea99adcdca7da05fb71592a8

7 years agoMerge "Add libstdc++ as a dependency for build-target-art-golem."
Nicolas Geoffray [Thu, 8 Dec 2016 14:11:10 +0000 (14:11 +0000)]
Merge "Add libstdc++ as a dependency for build-target-art-golem."

7 years agoAdd libstdc++ as a dependency for build-target-art-golem.
Nicolas Geoffray [Thu, 8 Dec 2016 13:49:54 +0000 (13:49 +0000)]
Add libstdc++ as a dependency for build-target-art-golem.

Needed for running with ART_TARGET_LINUX=true

Test: builds and runs.
Change-Id: Idf74eff0a4114952b71781ed80de5bbe75f666ae

7 years agoMerge "ART: Remove workaround in verifer after Jack update."
Orion Hodson [Thu, 8 Dec 2016 12:49:46 +0000 (12:49 +0000)]
Merge "ART: Remove workaround in verifer after Jack update."

7 years agoART: Remove workaround in verifer after Jack update.
Orion Hodson [Thu, 8 Dec 2016 10:29:53 +0000 (10:29 +0000)]
ART: Remove workaround in verifer after Jack update.

Bug: 33099829,30550796
Test: m test-art-host
Change-Id: I812809e7f043ec2a9651f22e970312e094b78966

7 years agoFix CC DCHECK failure in 152-gc-and-run-finalization.
Hiroshi Yamauchi [Wed, 7 Dec 2016 00:46:37 +0000 (16:46 -0800)]
Fix CC DCHECK failure in 152-gc-and-run-finalization.

This fixes the second crash trace in 33389022#1.

Load the referent once which avoids passing nullptr to IsMarked().

It's still racey but it's okay because leaving a Reference with a
cleared referent gray is fine, if not optimal performance-wise.

Bug: 33389022
Bug: 12687968
Test: test-art-host with CC. 152 in a loop.

Change-Id: I2b389022175e38bdc40518b9553a2f5180dbc649

7 years agoRevert "Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.""
Scott Wakeling [Wed, 7 Dec 2016 17:46:03 +0000 (17:46 +0000)]
Revert "Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.""

Override Add in ArmVIXLMacroAssembler to improve 16-bit encodings.

This reverts commit 2f34995469e20a1ac342975856155f69995997ce.

Test: m test-art-host

Change-Id: Ief9f7576cd805104fd517a76b96d8a92f2208dfd

7 years agoMerge "JDWP tests need debug info"
Treehugger Robot [Wed, 7 Dec 2016 17:18:16 +0000 (17:18 +0000)]
Merge "JDWP tests need debug info"

7 years agoMerge "MIPS32: Pass more arguments in registers."
Vladimir Marko [Wed, 7 Dec 2016 17:15:08 +0000 (17:15 +0000)]
Merge "MIPS32: Pass more arguments in registers."

7 years agoMerge "Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.""
Nicolas Geoffray [Wed, 7 Dec 2016 16:21:24 +0000 (16:21 +0000)]
Merge "Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.""

7 years agoRevert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry."
Nicolas Geoffray [Wed, 7 Dec 2016 16:20:47 +0000 (16:20 +0000)]
Revert "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry."

Breaks assembler_thumb_test.

This reverts commit d494c5e37c656d92fcf83987d886e999457d9252.

Change-Id: I0ccac4c7bf391185b860767bd26d48189bfae461

7 years agoMerge "Mterp/arm: Add CFI directives, add missing change"
Bill Buzbee [Wed, 7 Dec 2016 16:19:41 +0000 (16:19 +0000)]
Merge "Mterp/arm: Add CFI directives, add missing change"

7 years agoJDWP tests need debug info
Yohann Roussel [Wed, 7 Dec 2016 15:41:07 +0000 (16:41 +0100)]
JDWP tests need debug info

Test: art/tools/run-jdwp-tests.sh --mode=host --variant=X32
Change-Id: I4b575978a4005b3b09862c12cd98f1c5436122ce

7 years agoMerge "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry."
Nicolas Geoffray [Wed, 7 Dec 2016 15:17:12 +0000 (15:17 +0000)]
Merge "ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry."

7 years agoMerge remote-tracking branch 'goog/stage-aosp-master' into HEAD
Bill Yi [Tue, 6 Dec 2016 22:30:01 +0000 (14:30 -0800)]
Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD

7 years agoMerge "Reduce calls to DescriptorEquals"
Mathieu Chartier [Tue, 6 Dec 2016 22:06:05 +0000 (22:06 +0000)]
Merge "Reduce calls to DescriptorEquals"

7 years agoMIPS32: Pass more arguments in registers.
Alexey Frunze [Sun, 13 Nov 2016 01:22:05 +0000 (17:22 -0800)]
MIPS32: Pass more arguments in registers.

Specifically, use A0-A3,T0-T1 for non-floats and F8-F19 for floats.

Test: booted MIPS32R2 in QEMU
Test: test-art-target-run-test-optimizing (MIPS32R2) on CI20
Test: test-art-target-gtest (MIPS32R2) on CI20
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: test-art-target-run-test-optimizing (MIPS32R6) in QEMU
Test: test-art-target-gtest (MIPS32R6) in QEMU
Test: test-art-host-gtest

Change-Id: Ib8b0310a109d9f3d70119c1e605e54b013e60728

7 years agoMerge "Use getReferent() in enqueueSentinelReference to avoid race with GC."
Hiroshi Yamauchi [Tue, 6 Dec 2016 20:09:07 +0000 (20:09 +0000)]
Merge "Use getReferent() in enqueueSentinelReference to avoid race with GC."
am: d12f04cb56

Change-Id: I45197211253ba6308695f3bcbf339b118cfed299

7 years agoMerge "Use getReferent() in enqueueSentinelReference to avoid race with GC."
Hiroshi Yamauchi [Tue, 6 Dec 2016 20:04:53 +0000 (20:04 +0000)]
Merge "Use getReferent() in enqueueSentinelReference to avoid race with GC."

7 years agoMerge "Fixed a few bugs in dexfuzz:"
Aart Bik [Tue, 6 Dec 2016 19:52:32 +0000 (19:52 +0000)]
Merge "Fixed a few bugs in dexfuzz:"
am: 72ef70de77

Change-Id: I83d09f667f21aea5162a9637e55493bef450de16

7 years agoARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.
Artem Serov [Fri, 2 Dec 2016 18:46:40 +0000 (18:46 +0000)]
ARM: VIXL32: Use DontCare for SetFlags + fix for GenerateFrameEntry.

In T32 some of the instructions (add, mov, etc) outside an IT block
have only 32-bit encodings. But there are 16-bit flag setting
versions of these instructions (adds, movs, etc). In most of the
cases in ART we don't care if the instructions keep flags or not;
thus we can benefit from smaller code size.
VIXL will never generate flag setting versions (for example, adds
for Add macro instruction) unless vixl32::DontCare option is
explicitly specified. That's why we introduce wrappers to use
DontCare option by default.

This patch reduces code size of compiled code. For example,
core.oat has shown over 1.16% code size reduction.

Also contains a fix for GenerateFrameEntry.

Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target

Change-Id: Id55a16f34208e7b702016ee83e2f2d0daeb42eaf

7 years agoMerge "Fixed a few bugs in dexfuzz:"
Aart Bik [Tue, 6 Dec 2016 19:45:23 +0000 (19:45 +0000)]
Merge "Fixed a few bugs in dexfuzz:"

7 years agoMerge "ART: Move boot-image loading to ImageSpace"
Andreas Gampe [Tue, 6 Dec 2016 19:37:31 +0000 (19:37 +0000)]
Merge "ART: Move boot-image loading to ImageSpace"
am: f99e0d0f28

Change-Id: Ib859154a1e0ce49d17b05bfb9bf5c55a0af37364

7 years agoMerge "ART: Move boot-image loading to ImageSpace"
Treehugger Robot [Tue, 6 Dec 2016 19:31:44 +0000 (19:31 +0000)]
Merge "ART: Move boot-image loading to ImageSpace"

7 years agoReduce calls to DescriptorEquals
Mathieu Chartier [Thu, 1 Dec 2016 22:21:11 +0000 (14:21 -0800)]
Reduce calls to DescriptorEquals

Store the low 3 bits of the descriptor hash inside of class set
entries. Compare these bits before comparing descriptors.

Simpleperf interpret-only compile of facebook:
mirror::Class::DescriptorEquals(char const*): 3.66% -> 1.03%

Bug: 32641252

Test: test-art-host

Change-Id: I8d898d4ac7c95383c49401fbcd85bfde226e026c

7 years agoARM: VIXL32: Implement read barriers.
Anton Kirilov [Wed, 30 Nov 2016 15:14:10 +0000 (15:14 +0000)]
ARM: VIXL32: Implement read barriers.

Test: ART_USE_VIXL_ARM_BACKEND=true {ART_USE_READ_BARRIER=true, \
      ART_USE_READ_BARRIER=true ART_HEAP_POISONING=true, \
      ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP, \
      ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP \
      ART_HEAP_POISONING=true, ART_HEAP_POISONING=true} \
      m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true {ART_USE_READ_BARRIER=true, \
      ART_USE_READ_BARRIER=true ART_HEAP_POISONING=true, \
      ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP, \
      ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP \
      ART_HEAP_POISONING=true, ART_HEAP_POISONING=true} \
      m test-art-target
Change-Id: I2c1e4875beb09329c3b69bd5e1e8bbd3861d5866

7 years agoMerge "Added geometric induction variables analysis."
Aart Bik [Tue, 6 Dec 2016 17:17:23 +0000 (17:17 +0000)]
Merge "Added geometric induction variables analysis."
am: 6746874b84

Change-Id: Icebb53a6229638d33c6d1c36cddd396034d366a5

7 years agoMerge "Added geometric induction variables analysis."
Aart Bik [Tue, 6 Dec 2016 17:09:57 +0000 (17:09 +0000)]
Merge "Added geometric induction variables analysis."

7 years agoMerge "Revert "Re-enable libcore test WeakHashMapTest#test_keySet.""
Roland Levillain [Tue, 6 Dec 2016 15:04:14 +0000 (15:04 +0000)]
Merge "Revert "Re-enable libcore test WeakHashMapTest#test_keySet.""
am: c6f27ac5f4

Change-Id: I1ef7c23bd614983e219d6bc00e9d21cb7ebb39b7

7 years agoMerge "Revert "Re-enable libcore test WeakHashMapTest#test_keySet.""
Treehugger Robot [Tue, 6 Dec 2016 14:57:08 +0000 (14:57 +0000)]
Merge "Revert "Re-enable libcore test WeakHashMapTest#test_keySet.""

7 years agoMerge "Fix two tests after vdex change."
Nicolas Geoffray [Tue, 6 Dec 2016 14:33:12 +0000 (14:33 +0000)]
Merge "Fix two tests after vdex change."
am: 02d45c6afc

Change-Id: I3d6e05b4d1a033a7ba4ffe4f868186a51e469795

7 years agoMerge "Fix two tests after vdex change."
Nicolas Geoffray [Tue, 6 Dec 2016 14:27:17 +0000 (14:27 +0000)]
Merge "Fix two tests after vdex change."

7 years agoFix two tests after vdex change.
Nicolas Geoffray [Tue, 6 Dec 2016 13:40:16 +0000 (13:40 +0000)]
Fix two tests after vdex change.

- Clear entries of verification results, to avoid hitting a
  DCHECK while running verifier_deps_test
- Backlist 629-vdex-speed for relocate-npatchoat, as the test
  needs compiled code.

test: verifier_deps_test, 629-vdex-speed
bug: 30937355
Change-Id: I9788599dafcbfe63522c58f85692601466d191db

7 years agoMterp/arm: Add CFI directives, add missing change
buzbee [Tue, 6 Dec 2016 13:00:01 +0000 (05:00 -0800)]
Mterp/arm: Add CFI directives, add missing change

CL 308760 neglected to regenerate mterp_arm.S.  Added here.

Test: m ART_TEST_INTERPRETER=true test-art-target (in progress)
Bug: 31456348
Change-Id: I476e65e81bf54c8fdb1e2134d460db496308d6c1

7 years agoMerge "Mterp/arm: Add CFI directives."
Bill Buzbee [Tue, 6 Dec 2016 12:50:07 +0000 (12:50 +0000)]
Merge "Mterp/arm: Add CFI directives."
am: 07830e11b7

Change-Id: Id7c086ac5383fa3cfbe1e32f7715327688c0b3cc

7 years agoMerge "Mterp/arm: Add CFI directives."
Bill Buzbee [Tue, 6 Dec 2016 12:42:21 +0000 (12:42 +0000)]
Merge "Mterp/arm: Add CFI directives."

7 years agoMerge "Update Jack options to enable invoke-polymorphic"
Benoit Lamarche [Tue, 6 Dec 2016 11:07:41 +0000 (11:07 +0000)]
Merge "Update Jack options to enable invoke-polymorphic"
am: d1aa2912f3

Change-Id: I1b095876451910ae5e9b8bfcce13b712e01aa72c

7 years agoRevert "Re-enable libcore test WeakHashMapTest#test_keySet."
Roland Levillain [Tue, 6 Dec 2016 10:30:55 +0000 (10:30 +0000)]
Revert "Re-enable libcore test WeakHashMapTest#test_keySet."

This reverts commit d3a36fd9d99857da60777ddcf3b10058402e0915.

Reverting as the test still fails on the ART Buildbot.

Bug: 25437292
Change-Id: Id8bf59bac2d81554d5a50757ce25255ec99155ec

7 years agoMerge "Update Jack options to enable invoke-polymorphic"
Benoit Lamarche [Tue, 6 Dec 2016 10:16:25 +0000 (10:16 +0000)]
Merge "Update Jack options to enable invoke-polymorphic"

7 years agoMerge "ARM: VIXL32: Clean usage of scopes."
Nicolas Geoffray [Tue, 6 Dec 2016 10:12:40 +0000 (10:12 +0000)]
Merge "ARM: VIXL32: Clean usage of scopes."
am: cce05bd825

Change-Id: Ida6a10f2b61b75c586094c1f93ef81ffffb65b85

7 years agoMerge "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch."
Nicolas Geoffray [Tue, 6 Dec 2016 10:12:17 +0000 (10:12 +0000)]
Merge "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch."
am: 5677d9a815

Change-Id: Ife1ac1c4a4fd33bac190911e3f2694d0e4214ebf

7 years agoMerge "Create empty VerifiedMethod after vdex verification."
Nicolas Geoffray [Tue, 6 Dec 2016 10:11:57 +0000 (10:11 +0000)]
Merge "Create empty VerifiedMethod after vdex verification."
am: 2eace9c132

Change-Id: I234895ba7cbff5b760275a2e2ba4581b47aba4e8

7 years agoMerge "ARM: VIXL32: Clean usage of scopes."
Nicolas Geoffray [Tue, 6 Dec 2016 10:07:05 +0000 (10:07 +0000)]
Merge "ARM: VIXL32: Clean usage of scopes."

7 years agoMerge "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch."
Nicolas Geoffray [Tue, 6 Dec 2016 10:06:49 +0000 (10:06 +0000)]
Merge "ARM: VIXL32: Implement Invoke, LoadClass, LoadString dispatch."

7 years agoMerge "Create empty VerifiedMethod after vdex verification."
Nicolas Geoffray [Tue, 6 Dec 2016 10:06:13 +0000 (10:06 +0000)]
Merge "Create empty VerifiedMethod after vdex verification."

7 years agoAdded geometric induction variables analysis.
Aart Bik [Thu, 1 Dec 2016 18:22:31 +0000 (10:22 -0800)]
Added geometric induction variables analysis.

Rationale:
Information on geometric and polynomial (coming soon) sequences
are nice to have to further enhance BCE and last-value assignment.

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

7 years agoART: Move boot-image loading to ImageSpace
Andreas Gampe [Mon, 5 Dec 2016 20:37:36 +0000 (12:37 -0800)]
ART: Move boot-image loading to ImageSpace

Move the complete loading sequence for multi-image into ImageSpace.
This simplifies Heap initialization.

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

7 years agoMerge "Address comments I missed on a previous CL"
Alex Light [Mon, 5 Dec 2016 21:17:09 +0000 (21:17 +0000)]
Merge "Address comments I missed on a previous CL"
am: e4cdd4dbcb

Change-Id: I088e2c8dbfc750f35c11b90f35ec2bb7cff7e478

7 years agoMerge "Address comments I missed on a previous CL"
Treehugger Robot [Mon, 5 Dec 2016 21:08:20 +0000 (21:08 +0000)]
Merge "Address comments I missed on a previous CL"

7 years agoMerge "Dump more debug info for b/33006388."
Hiroshi Yamauchi [Mon, 5 Dec 2016 19:08:30 +0000 (19:08 +0000)]
Merge "Dump more debug info for b/33006388."
am: ab1b1c06a7

Change-Id: I0022558d790e1f12b02dcf6d7a0fdd84e2d6612f

7 years agoMerge "Dump more debug info for b/33006388."
Hiroshi Yamauchi [Mon, 5 Dec 2016 19:00:37 +0000 (19:00 +0000)]
Merge "Dump more debug info for b/33006388."

7 years agoMerge "ART: Clean up Thread"
Andreas Gampe [Mon, 5 Dec 2016 17:51:55 +0000 (17:51 +0000)]
Merge "ART: Clean up Thread"
am: 8205d17159

Change-Id: I2b8c53bf300ae245161a3a1f5654b56fb4e961ef

7 years agoMerge "ART: Clean up Thread"
Treehugger Robot [Mon, 5 Dec 2016 17:49:35 +0000 (17:49 +0000)]
Merge "ART: Clean up Thread"

7 years agoAddress comments I missed on a previous CL
Alex Light [Sat, 3 Dec 2016 01:27:31 +0000 (17:27 -0800)]
Address comments I missed on a previous CL

I accidentally missed some comments on
android-review.googlesource.com/c/305518 when I submitted it. This
addresses those comments.

Test: mma -j40 test-art-host
Change-Id: Icd8ff65dee1730d10489f25e75bddbd455c68413

7 years agoMterp/arm: Add CFI directives.
buzbee [Thu, 1 Dec 2016 22:03:05 +0000 (14:03 -0800)]
Mterp/arm: Add CFI directives.

Includes reworking of float_to_long and double_to_long to
elminate frame (as suggested by vmarko).

Test: m ART_TEST_INTERPRETER=true test-art-target (in progress)
Bug: 31456348
Change-Id: Ic4e985b977f76c4df926559b187d92d969206514

7 years agoMerge "ART: Weaken boot classpath initialization check"
Andreas Gampe [Mon, 5 Dec 2016 16:13:21 +0000 (16:13 +0000)]
Merge "ART: Weaken boot classpath initialization check"
am: a8db0a9599

Change-Id: I08b87543fca0e75b18fe348e8ad05f9212306869

7 years agoMerge "ART: Weaken boot classpath initialization check"
Treehugger Robot [Mon, 5 Dec 2016 16:08:58 +0000 (16:08 +0000)]
Merge "ART: Weaken boot classpath initialization check"

7 years agoARM: VIXL32: Clean usage of scopes.
Alexandre Rames [Fri, 4 Nov 2016 10:40:49 +0000 (10:40 +0000)]
ARM: VIXL32: Clean usage of scopes.

Use scopes in more places where they are semantically required.
There are still places where we should use scopes, but do not yet.
Those are marked with new `TODO` comments. Practically everything
works fine (see comments for details), but we eventually should fix
it.

Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target

Change-Id: I5bdc710d32f0b9476eee92b31f2ff9d874e26f63

7 years agoCreate empty VerifiedMethod after vdex verification.
Nicolas Geoffray [Fri, 25 Nov 2016 15:56:12 +0000 (15:56 +0000)]
Create empty VerifiedMethod after vdex verification.

The compiler and quicken require the existence of a
VerifiedMethod for compiling a method.

This fixes the regression of not doing any compilation when
passed --input-vdex.

Test: 629-vdex-speed

Change-Id: Ie65578eadd09099df1c1a403d96c15e5da78a901