OSDN Git Service

android-x86/art.git
7 years agoMerge "Fix sign extension issues"
Treehugger Robot [Thu, 16 Mar 2017 17:53:25 +0000 (17:53 +0000)]
Merge "Fix sign extension issues"

7 years agoMerge "Blacklist failing tests, and rename one."
Nicolas Geoffray [Thu, 16 Mar 2017 16:59:38 +0000 (16:59 +0000)]
Merge "Blacklist failing tests, and rename one."

7 years agoMerge "Revert "Remove obsolete LOCAL_DX_FLAGS.""
Treehugger Robot [Thu, 16 Mar 2017 16:59:30 +0000 (16:59 +0000)]
Merge "Revert "Remove obsolete LOCAL_DX_FLAGS.""

7 years agoBlacklist failing tests, and rename one.
Nicolas Geoffray [Thu, 16 Mar 2017 16:57:04 +0000 (16:57 +0000)]
Blacklist failing tests, and rename one.

To go back to green after configuration changes.

bug: 36344364
bug: 36344221
bug: 36335999
Change-Id: Ibf1a7606d895aad9567d7f5109f6f3761b1e4efe

7 years agoRevert "Remove obsolete LOCAL_DX_FLAGS."
Colin Cross [Thu, 16 Mar 2017 04:29:02 +0000 (21:29 -0700)]
Revert "Remove obsolete LOCAL_DX_FLAGS."

This reverts commit fbe160b29292fae8865431d544e66adabe2e1188.

Test: m -j ANDROID_COMPILE_WITH_JACK=false test-art-host
Change-Id: I76008336169b11ee1637101f69bdc4ffc8670c8a

7 years agoMerge "ART: Bit intrinsics for Mterp interpreter"
Bill Buzbee [Thu, 16 Mar 2017 14:20:30 +0000 (14:20 +0000)]
Merge "ART: Bit intrinsics for Mterp interpreter"

7 years agoMerge "Fix String::DoReplace() using obsolete `this`."
Treehugger Robot [Thu, 16 Mar 2017 13:30:22 +0000 (13:30 +0000)]
Merge "Fix String::DoReplace() using obsolete `this`."

7 years agoMerge "Revert "Revert "ARM: VIXL32: Use VIXL backend by default."""
Nicolas Geoffray [Thu, 16 Mar 2017 12:55:57 +0000 (12:55 +0000)]
Merge "Revert "Revert "ARM: VIXL32: Use VIXL backend by default."""

7 years agoMerge "vixl32: do not use D14 as a temporary."
Nicolas Geoffray [Thu, 16 Mar 2017 12:55:19 +0000 (12:55 +0000)]
Merge "vixl32: do not use D14 as a temporary."

7 years agoMerge "Include 'art' script in golem target build."
Nicolas Geoffray [Thu, 16 Mar 2017 12:41:41 +0000 (12:41 +0000)]
Merge "Include 'art' script in golem target build."

7 years agoInclude 'art' script in golem target build.
Nicolas Geoffray [Thu, 16 Mar 2017 12:39:50 +0000 (12:39 +0000)]
Include 'art' script in golem target build.

bug:36032648

Change-Id: I382e699af5fc4fcb2f265f1f7ffdac3b2ad29d3f

7 years agoART: Bit intrinsics for Mterp interpreter
buzbee [Tue, 14 Mar 2017 22:30:19 +0000 (15:30 -0700)]
ART: Bit intrinsics for Mterp interpreter

Another batch of interpreter intrinisics, mostly around bit
manipulation.  Also some formatting changes and inclusion of a
comprehensive list of recognized intrinisics (to assist with
telling what's left to do).

Bug: 30933338

Benchmarks:
   20% Improvement for Reversi
   10% Improvement for Scimark2
    3% Improvement for ChessBench

Test: ART_TEST_INTERPRETER=true m test-art-host
Test: art/tools/run-libcore-tests --host (edited for force -Xint)

Note: Added intrinsics have existing test coverage via
082-inline-execute, 123-inline-execute2, 565-checker-rotate,
564-checker-bitcount, 566-checker-signum & 567-checker-compare

Change-Id: I29f0386e28eddba37c44f9ced44e7d5f8206bb47

7 years agoMerge "MIPS64: Inline polymorphic method calls."
Treehugger Robot [Thu, 16 Mar 2017 11:51:30 +0000 (11:51 +0000)]
Merge "MIPS64: Inline polymorphic method calls."

7 years agovixl32: do not use D14 as a temporary.
Nicolas Geoffray [Wed, 15 Mar 2017 16:41:31 +0000 (16:41 +0000)]
vixl32: do not use D14 as a temporary.

D14 is a callee-save register, which means we would need to
save it in the prologue, but at the point we're using it
the prologue has already been generated.

bug: 35977033
test: m ART_USE_VIXL_ARM_BACKEND=true test-art-target
Change-Id: Id7340ad9e87a9e527ce0989f45aae0b3a0963206

7 years agoFix String::DoReplace() using obsolete `this`.
Vladimir Marko [Thu, 16 Mar 2017 10:45:40 +0000 (10:45 +0000)]
Fix String::DoReplace() using obsolete `this`.

Change it to a static function taking a Handle<>.

Test: testrunner.py --host --interp-ac --gcstress -t 021-string2
Bug: 36335996
Change-Id: I5ab3e7adc59d6a9095290e57d5ce5d46b79f089b

7 years agoRevert "Revert "ARM: VIXL32: Use VIXL backend by default.""
Nicolas Geoffray [Thu, 16 Mar 2017 10:24:17 +0000 (10:24 +0000)]
Revert "Revert "ARM: VIXL32: Use VIXL backend by default.""

bug:35977033

This reverts commit 25275bef429dc6a48b79411e0d0b32207294523b.

Change-Id: I440bf8415e2bf550607595499701fb3e7c33b37e

7 years agoMerge "Run all 'compiler' variants by default."
Nicolas Geoffray [Thu, 16 Mar 2017 09:16:06 +0000 (09:16 +0000)]
Merge "Run all 'compiler' variants by default."

7 years agoMerge "Cleanup use of ulimit in run tests."
Richard Uhler [Thu, 16 Mar 2017 08:17:24 +0000 (08:17 +0000)]
Merge "Cleanup use of ulimit in run tests."

7 years agoMerge "Finish adding checks to dex ir verification."
Treehugger Robot [Thu, 16 Mar 2017 04:28:35 +0000 (04:28 +0000)]
Merge "Finish adding checks to dex ir verification."

7 years agoFix sign extension issues
Colin Cross [Wed, 15 Mar 2017 22:25:24 +0000 (15:25 -0700)]
Fix sign extension issues

Fix sign extension issues when reading and writing pointers to
int32_t fields.  Cast the pointer to a uint32_t to check if it
fits, and cast it through uintptr_t and uint32_t.

Bug: 36281983
Test: m -j test-art-host with LibartImgHostBaseAddress == 0xa0000000
Change-Id: Idec99dcb5a47f2633a4f14c98af8e23c46dc7052

7 years agoFinish adding checks to dex ir verification.
Jeff Hao [Tue, 14 Mar 2017 23:13:39 +0000 (16:13 -0700)]
Finish adding checks to dex ir verification.

Adds missing checks for class defs, annotations, class data, code, etc.

Bug: 36107940
Test: mm test-art-host
Change-Id: Ifaac07299cf237827160c29b4230b0dc0845dc41

7 years agoMerge "Tweak ProfileSaver saving strategy"
Calin Juravle [Thu, 16 Mar 2017 01:15:16 +0000 (01:15 +0000)]
Merge "Tweak ProfileSaver saving strategy"

7 years agoMerge "Add more logging to OOM in fallback space DCHECK"
Treehugger Robot [Wed, 15 Mar 2017 23:41:51 +0000 (23:41 +0000)]
Merge "Add more logging to OOM in fallback space DCHECK"

7 years agoTweak ProfileSaver saving strategy
Calin Juravle [Wed, 15 Mar 2017 00:58:21 +0000 (17:58 -0700)]
Tweak ProfileSaver saving strategy

To minimize the I/O, we used to store the number of methods/classes we
last saved globally in the profiler saver. This is no longer viable once
we want to track secondary dex files for profiling because each file
might save a different set of methods.

To make sure we do not miss data for secondary dex profiles,
store the number of last saved methods separetely for each profile file.

Test: test-art-host
Bug: 26719109
Change-Id: I3a657f63d26f68c7ca83a754f6e4aa2c9d946176

7 years agoMerge "Revert "Introduce a number of MSA instructions for MIPS64""
Treehugger Robot [Wed, 15 Mar 2017 22:37:47 +0000 (22:37 +0000)]
Merge "Revert "Introduce a number of MSA instructions for MIPS64""

7 years agoAdd more logging to OOM in fallback space DCHECK
Mathieu Chartier [Wed, 15 Mar 2017 21:54:27 +0000 (14:54 -0700)]
Add more logging to OOM in fallback space DCHECK

Add more logging to find out if the object size is valid for its
region.

Bug: 36233460
Test: test-art-host
Change-Id: I046c2094a8964a95293b9abfdfa07050dc572482

7 years agoMerge "SIMD cmpeq for x86/x86_64"
Treehugger Robot [Wed, 15 Mar 2017 21:02:07 +0000 (21:02 +0000)]
Merge "SIMD cmpeq for x86/x86_64"

7 years agoRevert "Introduce a number of MSA instructions for MIPS64"
Aart Bik [Wed, 15 Mar 2017 20:37:50 +0000 (20:37 +0000)]
Revert "Introduce a number of MSA instructions for MIPS64"

This reverts commit dcabc8b740bf3066d59348ffdf21c164d2b27cb4.

Reason:
FAILING TESTS
valgrind-test-art-host-gtest-assembler_mips64_test32
ninja: build stopped: subcommand failed.
19:36:36 ninja failed with: exit status 1
make: *** [run_soong_ui] Error 1

Change-Id: If658375528d2a0f34bb6b22b6565fab1d863b3f5

7 years agoMerge "Revert "Add verification of knownfailures in the testrunner""
Alex Light [Wed, 15 Mar 2017 19:55:50 +0000 (19:55 +0000)]
Merge "Revert "Add verification of knownfailures in the testrunner""

7 years agoRevert "Add verification of knownfailures in the testrunner"
Alex Light [Wed, 15 Mar 2017 19:54:32 +0000 (19:54 +0000)]
Revert "Add verification of knownfailures in the testrunner"

This reverts commit 2a0e16d09c6888b646402582d909467b11e445c0.

Reason for revert: Causes chrome buildbots to break.

Change-Id: I9c9d02e37d20fbf423e73e166616d8e714dfdf18

7 years agoSIMD cmpeq for x86/x86_64
Aart Bik [Wed, 15 Mar 2017 18:19:35 +0000 (11:19 -0700)]
SIMD cmpeq for x86/x86_64

Rationale:
Break-out CL of ART Vectorizer.
Enables fast all-ones optimization.

Bug: 34083438
Test: assembler_x86[_64]_test
Change-Id: I70bd71305f2ecc322ccada5471c197a578c0526e

7 years agoMerge "Revert "Revert "Refactor annotation code for obsolete methods."""
Treehugger Robot [Wed, 15 Mar 2017 18:01:50 +0000 (18:01 +0000)]
Merge "Revert "Revert "Refactor annotation code for obsolete methods."""

7 years agoMerge "Add verification of knownfailures in the testrunner"
Treehugger Robot [Wed, 15 Mar 2017 17:32:17 +0000 (17:32 +0000)]
Merge "Add verification of knownfailures in the testrunner"

7 years agoMerge "Fix RegType invariant checks."
Treehugger Robot [Wed, 15 Mar 2017 17:27:15 +0000 (17:27 +0000)]
Merge "Fix RegType invariant checks."

7 years agoRevert "Revert "Refactor annotation code for obsolete methods.""
Alex Light [Wed, 15 Mar 2017 15:35:46 +0000 (15:35 +0000)]
Revert "Revert "Refactor annotation code for obsolete methods.""

The number of InterruptedExceptions created during runtime shutdown is
sometimes inconsistent so we will filter those out of the test results.

This reverts commit 65e0775010121498a37fa26c64fcc5bb17a6c1b5.

Reason for revert: Fixed issue with test flakes

Bug: 31455788
Test: stress --cpu 60; while ./test/run-test --host 980; do; done

Change-Id: Idf53ea11ceec1f48c433da468b31092bf230de57

7 years agoMerge "SIMD and-not for x86/x86_64"
Aart Bik [Wed, 15 Mar 2017 15:59:10 +0000 (15:59 +0000)]
Merge "SIMD and-not for x86/x86_64"

7 years agoMerge "Introduce a number of MSA instructions for MIPS64"
Aart Bik [Wed, 15 Mar 2017 15:58:56 +0000 (15:58 +0000)]
Merge "Introduce a number of MSA instructions for MIPS64"

7 years agoMerge "Only look at vdex related access flags for class/fields/methods."
Nicolas Geoffray [Wed, 15 Mar 2017 12:50:30 +0000 (12:50 +0000)]
Merge "Only look at vdex related access flags for class/fields/methods."

7 years agoOnly look at vdex related access flags for class/fields/methods.
Nicolas Geoffray [Wed, 8 Mar 2017 15:27:09 +0000 (15:27 +0000)]
Only look at vdex related access flags for class/fields/methods.

class/fields/methods can have a lot of flags, but only a handful
of them affect verification.

bug: 35913145
test: verifier_deps_test
Change-Id: I5c374b50e811b5e134cdb868a2cc674900a1bdec

7 years agoMerge "MIPS64: Improve storing of constants in fields and array elements"
Treehugger Robot [Wed, 15 Mar 2017 12:41:15 +0000 (12:41 +0000)]
Merge "MIPS64: Improve storing of constants in fields and array elements"

7 years agoMerge "ARM64: Improve LocationBuilder for Shifts and IntermediateAddress."
Nicolas Geoffray [Wed, 15 Mar 2017 10:37:59 +0000 (10:37 +0000)]
Merge "ARM64: Improve LocationBuilder for Shifts and IntermediateAddress."

7 years agoMerge "Revert^2 "Hash-based DexCache field array.""
Treehugger Robot [Wed, 15 Mar 2017 10:33:16 +0000 (10:33 +0000)]
Merge "Revert^2 "Hash-based DexCache field array.""

7 years agoFix RegType invariant checks.
Vladimir Marko [Tue, 14 Mar 2017 15:44:22 +0000 (15:44 +0000)]
Fix RegType invariant checks.

Move the checks from the base constructor to constructors of
the most derived classes. While in the base constructor, the
vtable points to the base class implementations of virtual
function, so we were not checking what we intended. And when
the check failed, we tried to call a pure virtual function
RegType::Dump() and crashed while constructing an abort
message.

Also, avoid an unnecessary std::string construction in
RegType::CheckInvariants() as StringPiece can be compared
with const char* directly.

Test: testrunner.py --host
Bug: 32548008
Change-Id: Ice7ca298132f87f8b1671b6578aeec221f0e7930

7 years agoRun all 'compiler' variants by default.
Nicolas Geoffray [Wed, 15 Mar 2017 10:18:50 +0000 (10:18 +0000)]
Run all 'compiler' variants by default.

Making sure our presubmits catch more potential errors.

test: testrunner, test-art-host
Change-Id: I72236c141d801c0210e863a01499a51f9623f3f7

7 years agoMerge "Make image oat checksum depend on secondary images."
Richard Uhler [Wed, 15 Mar 2017 08:45:56 +0000 (08:45 +0000)]
Merge "Make image oat checksum depend on secondary images."

7 years agoMerge "Revert "Refactor annotation code for obsolete methods.""
Nicolas Geoffray [Wed, 15 Mar 2017 06:59:11 +0000 (06:59 +0000)]
Merge "Revert "Refactor annotation code for obsolete methods.""

7 years agoRevert "Refactor annotation code for obsolete methods."
Nicolas Geoffray [Wed, 15 Mar 2017 06:56:35 +0000 (06:56 +0000)]
Revert "Refactor annotation code for obsolete methods."

Test has flakes.
Bug: 31455788

This reverts commit 672a0b75c91af44749b1e946684e6a65a884d778.

Change-Id: If00ecbd31abe204bcaf8341eceb674e07c0ac8f2

7 years agoMerge "Revert "Update header include for jvmti.h""
Nicolas Geoffray [Wed, 15 Mar 2017 06:58:38 +0000 (06:58 +0000)]
Merge "Revert "Update header include for jvmti.h""

7 years agoRevert "Update header include for jvmti.h"
Nicolas Geoffray [Wed, 15 Mar 2017 06:58:18 +0000 (06:58 +0000)]
Revert "Update header include for jvmti.h"

Test has flakes

This reverts commit 6cd641f1c4c05ece4e0189363b2da98eab0a720f.

Change-Id: Iddb6a91924a1de4f7e7e7f38e738adf38d61a34d

7 years agoMerge "Revert "Revert "Revert "CHA for interface method.""""
Nicolas Geoffray [Wed, 15 Mar 2017 06:29:09 +0000 (06:29 +0000)]
Merge "Revert "Revert "Revert "CHA for interface method.""""

7 years agoRevert "Revert "Revert "CHA for interface method."""
Nicolas Geoffray [Wed, 15 Mar 2017 06:28:52 +0000 (06:28 +0000)]
Revert "Revert "Revert "CHA for interface method."""

Breaks libcore tests.

This reverts commit 8f301e26943c53485abc2da5ff1907f7c2e0ff0c.

Change-Id: Iea46176118be9e05aceb06f2d290961bb1f38265

7 years agoMerge "Fix knownfailures for test 152/154"
Mathieu Chartier [Wed, 15 Mar 2017 03:54:22 +0000 (03:54 +0000)]
Merge "Fix knownfailures for test 152/154"

7 years agoMerge "Update header include for jvmti.h"
Alex Light [Tue, 14 Mar 2017 21:37:05 +0000 (21:37 +0000)]
Merge "Update header include for jvmti.h"

7 years agoUpdate header include for jvmti.h
Alex Light [Tue, 14 Mar 2017 21:33:32 +0000 (14:33 -0700)]
Update header include for jvmti.h

Test: ./test/testrunner/testrunner.py --host -j40 -t 980-redefine-object
Change-Id: I516936595926669f5049bf725e1ce52bc447b190

7 years agoMerge "Refactor annotation code for obsolete methods."
Treehugger Robot [Tue, 14 Mar 2017 21:10:32 +0000 (21:10 +0000)]
Merge "Refactor annotation code for obsolete methods."

7 years agoMerge "Fix SSA liveness analysis test."
Vladimir Marko [Tue, 14 Mar 2017 20:02:10 +0000 (20:02 +0000)]
Merge "Fix SSA liveness analysis test."

7 years agoMerge "Don't send ClassFileLoadHook before JVMTI_PHASE_START."
Treehugger Robot [Tue, 14 Mar 2017 19:11:02 +0000 (19:11 +0000)]
Merge "Don't send ClassFileLoadHook before JVMTI_PHASE_START."

7 years agoRevert^2 "Hash-based DexCache field array."
Vladimir Marko [Tue, 14 Mar 2017 14:18:46 +0000 (14:18 +0000)]
Revert^2 "Hash-based DexCache field array."

Test: testrunner.py --host --interpreter
Bug: 30627598

This reverts commit 6374c58f2ea403b3a05fb27376110fe4d0fc8e3f.

Change-Id: I275508e288a85d3aa08f7405a1a4f362af43b775

7 years agoMerge "Revert^6 "Hash-based dex cache type array.""
Vladimir Marko [Tue, 14 Mar 2017 19:01:01 +0000 (19:01 +0000)]
Merge "Revert^6 "Hash-based dex cache type array.""

7 years agoAdd verification of knownfailures in the testrunner
Shubham Ajmera [Mon, 13 Mar 2017 17:51:14 +0000 (10:51 -0700)]
Add verification of knownfailures in the testrunner

Add verification checks in testrunner for
knownfailures entries.
Removed 554-jit-profile-file, 555-checker-regression-x86const entries,
as it doesn't exist anymore.

Also, unified the format of entries to use tests for all the
cases.

Bug: 36164293
Test: ./art/test/testrunner/testrunner.py --host -64
Change-Id: I2fb4d1a3dd34b76d314323db17c8a1c771545b28

7 years agoMerge "ART: Refactor libopenjdkjvmti"
Treehugger Robot [Tue, 14 Mar 2017 18:45:04 +0000 (18:45 +0000)]
Merge "ART: Refactor libopenjdkjvmti"

7 years agoFix knownfailures for test 152/154
Mathieu Chartier [Tue, 14 Mar 2017 18:31:16 +0000 (11:31 -0700)]
Fix knownfailures for test 152/154

Change jit exemption to jit & debug. Add missing bug numbers.
Fix typo from "tests" to "test".

Bug: 35917229
Bug: 35800768

Test: test/testrunner/testrunner.py  --host --jit -j32

Change-Id: I5f1039b4b2b6b533360824a5667075365e08d0fd

7 years agoFix SSA liveness analysis test.
Vladimir Marko [Tue, 14 Mar 2017 18:07:35 +0000 (18:07 +0000)]
Fix SSA liveness analysis test.

Create a persistent CompilerOptions object instead of
passing a temporary to the codegen.

Test: m valgrind-test-art-host-gtest-ssa_liveness_analysis_test
Change-Id: Icccf6aec0d024917aa1895d0804a79866f3cae43

7 years agoMerge "Revert "Revert "CHA for interface method."""
Mingyao Yang [Tue, 14 Mar 2017 17:31:33 +0000 (17:31 +0000)]
Merge "Revert "Revert "CHA for interface method."""

7 years agoRefactor annotation code for obsolete methods.
Alex Light [Fri, 10 Mar 2017 21:09:57 +0000 (13:09 -0800)]
Refactor annotation code for obsolete methods.

Reading annotations on obsolete ArtMethod* objects would cause
problems due to reading from the wrong dex file. We refactored that
code so now it always uses the correct dex file when reading
annotations. This was rarely a problem since obsolete ArtMethods are
only ever exposed to the runtime itself which rarely reads
annotations.

We also add a test for redefining Object.class. This is one of the
small number of classes where the runtime will read it's annotations
off of obsolete methods.

Bug: 31455788
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I5f1c58464b89a7a9198a7b26b015b102a7dc9c2f

7 years agoMIPS64: Inline polymorphic method calls.
Chris Larsen [Tue, 14 Mar 2017 00:06:18 +0000 (17:06 -0700)]
MIPS64: Inline polymorphic method calls.

Test: 566-polymorphic-inlining
Test: Boot MIPS64R6 QEMU

Change-Id: I92ca53ebd173c0b3a5d5910678b78bc114502b93

7 years agoMerge "Added missing flags in run_build_test_target.py"
Treehugger Robot [Tue, 14 Mar 2017 16:44:53 +0000 (16:44 +0000)]
Merge "Added missing flags in run_build_test_target.py"

7 years agoCleanup use of ulimit in run tests.
Richard Uhler [Tue, 14 Mar 2017 16:23:17 +0000 (16:23 +0000)]
Cleanup use of ulimit in run tests.

Rather than setting a file size limit that is too low and overriding
the limit for all or many of the tests, set a single generous file
size limit. This should be much easier to maintain while still
providing some value.

Test: ./test/testrunner/testrunner.py --host --interpreter --jit --optimizing --relocate --no-relocate --prebuild --no-prebuild
Test: ./test/testrunner/testrunner.py --target
Change-Id: I9dc92c9db0819e8b65816b8be872dacc1871c30c

7 years agoIntroduce a number of MSA instructions for MIPS64
Goran Jakovljevic [Fri, 10 Mar 2017 10:53:48 +0000 (11:53 +0100)]
Introduce a number of MSA instructions for MIPS64

Added a number of MSA (The MIPS SIMD Architecture) instructions.
Added assembler tests for each instruction.
Made necessary changes in disassembler for these instructions.

Test: mma test-art-host-gtest

Change-Id: I380f02c6ae5424a96ad999037153228acb07a108

7 years agoMerge "ARM64: Fix lack of scratch registers in String.equals() intrinsic."
Treehugger Robot [Tue, 14 Mar 2017 15:29:22 +0000 (15:29 +0000)]
Merge "ARM64: Fix lack of scratch registers in String.equals() intrinsic."

7 years agoART: Refactor libopenjdkjvmti
Andreas Gampe [Mon, 13 Mar 2017 20:10:00 +0000 (13:10 -0700)]
ART: Refactor libopenjdkjvmti

Move jvmti.h to its own folder and fix up include setup.

Bug: 31455788
Test: m
Change-Id: I5beb66fc5d0178746216f61f9214cda54fc2c7ac

7 years agoARM64: Fix lack of scratch registers in String.equals() intrinsic.
Vladimir Marko [Tue, 14 Mar 2017 13:37:14 +0000 (13:37 +0000)]
ARM64: Fix lack of scratch registers in String.equals() intrinsic.

Test: testrunner.py --target -t 021-string2 (on Nexus 6P)
Bug: 36127106
Change-Id: I1e46af69a80b7025931be662cbafa10165f9c47e

7 years agoRevert^6 "Hash-based dex cache type array."
Vladimir Marko [Tue, 14 Mar 2017 10:13:21 +0000 (10:13 +0000)]
Revert^6 "Hash-based dex cache type array."

Fixed ImageWriter to write class table also if it contains
only boot class loader classes. Added a regression test and
added extra checks for debug-build to verify that dex cache
types from app image are also in the class table. Removed
some unnecessary debug output.

Test: 158-app-image-class-table
Bug: 34839984
Bug: 30627598
Bug: 34659969

This reverts commit 0b66d6174bf1f6023f9d36dda8538490b79c2e9f.

Change-Id: I6a747904940c6ebc297f4946feef99dc0adf930c

7 years agoMerge "Introduce EnvUsePosition for liveness analysis."
Vladimir Marko [Tue, 14 Mar 2017 10:11:18 +0000 (10:11 +0000)]
Merge "Introduce EnvUsePosition for liveness analysis."

7 years agoMerge "Revert "ARM: VIXL32: Use VIXL backend by default.""
Nicolas Geoffray [Tue, 14 Mar 2017 09:10:41 +0000 (09:10 +0000)]
Merge "Revert "ARM: VIXL32: Use VIXL backend by default.""

7 years agoRevert "ARM: VIXL32: Use VIXL backend by default."
Nicolas Geoffray [Tue, 14 Mar 2017 08:57:02 +0000 (08:57 +0000)]
Revert "ARM: VIXL32: Use VIXL backend by default."

Revert while investigating.

bug:35977033

This reverts commit e6316892821287b1d1906b9962eae129fbdc37be.

Change-Id: I51e24a6e539072a6d0d470dfe41855a4847f3e96

7 years agoMIPS64: Improve storing of constants in fields and array elements
Tijana Jakovljevic [Fri, 10 Mar 2017 12:36:08 +0000 (13:36 +0100)]
MIPS64: Improve storing of constants in fields and array elements

Test: booted MIPS64 in QEMU
Test: mma test-art-target-run-test
Test: mma test-art-host-gtest-assembler_mips64_test

Change-Id: I8e0002166174eebea1309358eb9d96f34eee3225

7 years agoMerge "Added new -v option to dexlayout to verify output dex file."
Treehugger Robot [Tue, 14 Mar 2017 02:33:20 +0000 (02:33 +0000)]
Merge "Added new -v option to dexlayout to verify output dex file."

7 years agoDon't send ClassFileLoadHook before JVMTI_PHASE_START.
Alex Light [Mon, 27 Feb 2017 18:52:29 +0000 (10:52 -0800)]
Don't send ClassFileLoadHook before JVMTI_PHASE_START.

All the classes we load prior to transitioning into JVMTI_PHASE_START
are tightly coupled into the runtime itself. For this reason
redefining them in the ways allowed by the ClassFileLoadHook during
first load could cause difficult to diagnose problems with the
runtime. Since there is no good way to determine if the new definition
is safe nor to report that the definition was ignored we instead
simply do not send this event during this stage of runtime
initialization.

Test: ./test/testrunner/testrunner.py --host -j40 -b
Change-Id: I813f2ced49a2a85e485a6f2cf94edb024799c5c0

7 years agoAdded new -v option to dexlayout to verify output dex file.
Jeff Hao [Mon, 13 Mar 2017 23:24:24 +0000 (16:24 -0700)]
Added new -v option to dexlayout to verify output dex file.

Passing -v will cause dexlayout to do an IR level comparison of the
output with the original input dex file. This checks that the data in
the dex files are the same, but allows for different offsets since the
output dex file may have a different layout.

Test: mm test-art-host
Bug: 36107940
Change-Id: If75a93973ffdd2d91111727f089713c800d8cee8

7 years agoAdded missing flags in run_build_test_target.py
Shubham Ajmera [Thu, 9 Mar 2017 18:15:49 +0000 (10:15 -0800)]
Added missing flags in run_build_test_target.py

Added --host flag for run-test and replaced test-art-gtest with
test-art-host-gtest to only run tests on host.

With a change in arg parsers, there is no need to put additional
--build-target flag.
For e.g.,
./test/testrunner/run_build_test_target.py  art-interpreter -j64
./test/testrunner/run_build_test_target.py  -j64 art-interpreter

Both of them will build and run target for art-interprerter.

Test: ./test/testrunner/run_build_test_target.py  art-interpreter -j64
      ./test/testrunner/run_build_test_target.py  -j64 art-interpreter

Change-Id: I8e7c108082319a9214905854edefd0abc8343f2a

7 years agoMerge "Fix issues due to updated toolchain."
Treehugger Robot [Mon, 13 Mar 2017 21:27:28 +0000 (21:27 +0000)]
Merge "Fix issues due to updated toolchain."

7 years agoMerge "Testrunner: Print information about the total tests run"
Treehugger Robot [Mon, 13 Mar 2017 19:02:45 +0000 (19:02 +0000)]
Merge "Testrunner: Print information about the total tests run"

7 years agoSIMD and-not for x86/x86_64
Aart Bik [Mon, 13 Mar 2017 18:52:07 +0000 (11:52 -0700)]
SIMD and-not for x86/x86_64

Rationale:
Break-out CL of ART Vectorizer.
Enables and-not optimization.

Bug: 34083438
Test: assembler_x86[_64]_test
Change-Id: I8fa61d88f9f014973b0d9707d39be56a7f995db8

7 years agoIntroduce EnvUsePosition for liveness analysis.
Vladimir Marko [Wed, 1 Mar 2017 12:01:11 +0000 (12:01 +0000)]
Introduce EnvUsePosition for liveness analysis.

Normal and environment use positions are held in separate
lists and the code never mixes them together. By using two
separate classes, we can reduce complexity and avoid an
unnecesary data member, reducing the memory usage.

Tracking allocations for a certain big app, the peak arena
memory usage is
  before:
    MEM: used: 79245960, ...
    SsaLiveness    31221600
  after:
    MEM: used: 78754024, ...
    SsaLiveness    30729664

Test: testrunner.py --host
Bug: 34053922
Change-Id: I02d3c9f564bbe3b1da0e03c33cf7c0f810f235dc

7 years agoMerge "Revert^5 "Hash-based dex cache type array.""
Treehugger Robot [Mon, 13 Mar 2017 17:44:24 +0000 (17:44 +0000)]
Merge "Revert^5 "Hash-based dex cache type array.""

7 years agoTestrunner: Print information about the total tests run
Shubham Ajmera [Mon, 13 Mar 2017 16:54:23 +0000 (09:54 -0700)]
Testrunner: Print information about the total tests run

Bug: 35985100
Test: manual
Change-Id: I879637e8c06ca401cd2a9c10111b4408300a7fcd

7 years agoMerge "Revert "Hash-based DexCache field array.""
Treehugger Robot [Mon, 13 Mar 2017 16:22:20 +0000 (16:22 +0000)]
Merge "Revert "Hash-based DexCache field array.""

7 years agoMake image oat checksum depend on secondary images.
Richard Uhler [Fri, 10 Mar 2017 14:27:10 +0000 (14:27 +0000)]
Make image oat checksum depend on secondary images.

Rather than explicitly having to load and combine the checksums from
secondary images in the case of multi-image, have the image oat
checksum for the primary image depend on the contents of all the
images.

Bug: 35659889
Bug: 34385298
Bug: 35992406

Test: test-art-host
Test: Manually add field to ZygoteInit, update boot image, verify image
      is properly relocated and used on device.
Change-Id: I38bd957d165682edabd0fd1874e8ef7acf923deb

7 years agoRevert^5 "Hash-based dex cache type array."
Vladimir Marko [Mon, 13 Mar 2017 14:50:04 +0000 (14:50 +0000)]
Revert^5 "Hash-based dex cache type array."

For app images, ImageWriter does not add boot image
classes to the app image class table even though it
keeps them in the dex caches. The reason for that is
unknown, the code looks OK.

Bug: 34839984
Bug: 30627598
Bug: 34659969

Also reverts "Improve debugging output for a crash."

This reverts commits
    bfb80d25eaeb7a604d5dd25a370e3869e96a33ab,
    8dd56fcb3196f466ecaffd445397cb11ef85f89f.

Test: testrunner.py --host
Change-Id: Ic8db128207c07588c7f11563208ae1e85c8b0e84

7 years agoRevert "Hash-based DexCache field array."
Vladimir Marko [Mon, 13 Mar 2017 14:51:19 +0000 (14:51 +0000)]
Revert "Hash-based DexCache field array."

Reverting to allow rebasing the revert
    https://android-review.googlesource.com/351689
without too many conflicts.

Bug: 30627598

This reverts commit 1aea3510b8dd0c512cec61c91c5ef1f1e5d53d64.

Change-Id: I4af65e9f41c8bad8106c028947eca7c5a9534c53

7 years agoMerge "ART: String intrinsics for Mterp interpreter"
Bill Buzbee [Mon, 13 Mar 2017 12:47:04 +0000 (12:47 +0000)]
Merge "ART: String intrinsics for Mterp interpreter"

7 years agoMerge "Fix dex file verification check for dexlayout output file."
Treehugger Robot [Sat, 11 Mar 2017 02:29:10 +0000 (02:29 +0000)]
Merge "Fix dex file verification check for dexlayout output file."

7 years agoFix dex file verification check for dexlayout output file.
Jeff Hao [Sat, 11 Mar 2017 01:05:01 +0000 (17:05 -0800)]
Fix dex file verification check for dexlayout output file.

For debug builds, we want to run the output dex file through the dex
file verifier as a sanity check. The initial check was actually checking
the input dex file again...

Bug: 36107940
Test: mm test-art-host
Change-Id: Ibd434d67f661c325a443d4ca9cced481e7a9b02c

7 years agoFix issues due to updated toolchain.
Jayant Chowdhary [Tue, 28 Feb 2017 18:54:20 +0000 (10:54 -0800)]
Fix issues due to updated toolchain.

Test: mma -j64 showcommands > make_log in platform/art. Also able to
produce abi dumps using header-abi-dumper.

Bug: 35845221

Change-Id: I569a1abff8df86da65af869b1c766ddeebf59ff4

7 years agoMerge "Ensure we have the correct thread when allocating obsolete methods."
Treehugger Robot [Fri, 10 Mar 2017 23:56:39 +0000 (23:56 +0000)]
Merge "Ensure we have the correct thread when allocating obsolete methods."

7 years agoEnsure we have the correct thread when allocating obsolete methods.
Alex Light [Fri, 10 Mar 2017 22:29:22 +0000 (14:29 -0800)]
Ensure we have the correct thread when allocating obsolete methods.

We were using the incorrect thread to allocate memory for obsolete
methods. This could cause DCHECK failures as one tries to lock a mutex
with a non-running thread.

Bug: 31455788
Test: ./test/testrunner/testrunner.py --host -j40
Change-Id: I650d480a2e6e341509ad1f023398ebcc01913baa

7 years agoART: String intrinsics for Mterp interpreter
buzbee [Thu, 9 Mar 2017 21:51:23 +0000 (13:51 -0800)]
ART: String intrinsics for Mterp interpreter

Adds the most common java.lang.string intrinsics.  Includes change
to jvalue handling to zero-exend setting of chars and booleans to
64 bits (aligns with current sign-extension of shorts and ints).

Bug: 30933338

Benchmarks:
  2x boost for Caffeinemark String
  11% improvement for Dhrystone

Test: ART_TEST_INTERPRETER=true m test-art-host
Test: ART_TEST_INTERPRETER=true m test-art-target (Bullhead)

Note: Added intrinsics have existing test coverage via
082-inline-execute and 123-inline-execute2.

Change-Id: I64b35b1d7bdfe14da0c662594c0edf5cde667277

7 years agoMerge "ARM: VIXL32: Improve BoundsCheck for constant inputs."
Treehugger Robot [Fri, 10 Mar 2017 18:23:15 +0000 (18:23 +0000)]
Merge "ARM: VIXL32: Improve BoundsCheck for constant inputs."

7 years agoMerge "Add section size statistics"
David Sehr [Fri, 10 Mar 2017 18:08:50 +0000 (18:08 +0000)]
Merge "Add section size statistics"