OSDN Git Service

android-x86/art.git
7 years agoMerge "ART: Get rid of most of java.lang.DexCache."
Narayan Kamath [Fri, 17 Mar 2017 09:05:55 +0000 (09:05 +0000)]
Merge "ART: Get rid of most of java.lang.DexCache."

7 years agoMerge "Change some pending OOME asserts to be pending exception"
Mathieu Chartier [Fri, 17 Mar 2017 03:02:49 +0000 (03:02 +0000)]
Merge "Change some pending OOME asserts to be pending exception"

7 years agoMerge "Ensure the GC visits Obsolete Methods"
Treehugger Robot [Thu, 16 Mar 2017 23:11:55 +0000 (23:11 +0000)]
Merge "Ensure the GC visits Obsolete Methods"

7 years agoMerge "Fix sign extension issues in x86_64 code generation"
Colin Cross [Thu, 16 Mar 2017 22:58:49 +0000 (22:58 +0000)]
Merge "Fix sign extension issues in x86_64 code generation"

7 years agoChange some pending OOME asserts to be pending exception
Mathieu Chartier [Thu, 16 Mar 2017 22:50:57 +0000 (15:50 -0700)]
Change some pending OOME asserts to be pending exception

There may be non OOM exceptions like StackOverflowError.

Regression test infeasible.

Bug: 36290957

Test: test-art-host

Change-Id: I7128c78fc57a9a709b32b947e3741adc29a846cc

7 years agoMerge "Delete SrcMap"
Mathieu Chartier [Thu, 16 Mar 2017 22:42:37 +0000 (22:42 +0000)]
Merge "Delete SrcMap"

7 years agoEnsure the GC visits Obsolete Methods
Alex Light [Thu, 16 Mar 2017 20:13:31 +0000 (13:13 -0700)]
Ensure the GC visits Obsolete Methods

We were previously not visiting obsolete methods during GCs. This
could lead to the use of stale pointers.

Bug: 36335999
Test: ./test/testrunner/testrunner.py --host --interp-ac --gcstress -j40

Change-Id: I2b5c7c75b29f9037204a860501fcdb78104b5e7a

7 years agoMerge "Blacklist more tests."
Nicolas Geoffray [Thu, 16 Mar 2017 21:14:41 +0000 (21:14 +0000)]
Merge "Blacklist more tests."

7 years agoMerge "Add verification of knownfailures in the testrunner"
Treehugger Robot [Thu, 16 Mar 2017 20:52:05 +0000 (20:52 +0000)]
Merge "Add verification of knownfailures in the testrunner"

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
(cherry-picked from commit 2a0e16d09c6888b646402582d909467b11e445c0)

Change-Id: I8dbe18dec952150ede96a248e9639824fc004430

7 years agoBlacklist more tests.
Nicolas Geoffray [Thu, 16 Mar 2017 20:32:58 +0000 (20:32 +0000)]
Blacklist more tests.

bug:36365552
bug:36344364
bug:36344221
Change-Id: I1f957df8a84dec5665f526e0605d98e5f6d37b17

7 years agoDelete SrcMap
Mathieu Chartier [Thu, 16 Mar 2017 20:17:50 +0000 (13:17 -0700)]
Delete SrcMap

No longer used. SrcMapElem is still used by elf_debug_line_writer.h.

Address previous comments from aog/351387.

Test: make

Change-Id: Ib1525168b14889abbdc78ba20c64f3223b140a51

7 years agoMerge "Add method info to oat files"
Mathieu Chartier [Thu, 16 Mar 2017 19:56:10 +0000 (19:56 +0000)]
Merge "Add method info to oat files"

7 years agoMerge "x86-64: Code size improvement for MethodLoadKind::kDirectAddress."
Treehugger Robot [Thu, 16 Mar 2017 18:29:50 +0000 (18:29 +0000)]
Merge "x86-64: Code size improvement for MethodLoadKind::kDirectAddress."

7 years agoMerge "Ensure the profile is written to disk at shutdown"
Calin Juravle [Thu, 16 Mar 2017 17:57:24 +0000 (17:57 +0000)]
Merge "Ensure the profile is written to disk at shutdown"

7 years agoART: Get rid of most of java.lang.DexCache.
Narayan Kamath [Tue, 14 Mar 2017 13:26:12 +0000 (13:26 +0000)]
ART: Get rid of most of java.lang.DexCache.

All remaining functionality is moved over to native. The DexCache
object itself is allocated in the Java heap, even though there's no
longer much of a reason to do so. It can be changed in a future change
if needed.

This also renames mirror::Class:GetInterfaces to GetProxyInterfaces
since it's supposed to be called only for proxies.

Test: test-art-host, cts -m CtsLibcoreTestCases

Change-Id: Ie261f22a9f80c929f01d2b456f170c7a464ba21c

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 agoAdd method info to oat files
Mathieu Chartier [Mon, 13 Mar 2017 05:24:50 +0000 (22:24 -0700)]
Add method info to oat files

The method info data is stored separately from the code info to
reduce oat size by improving deduplication of stack maps.

To reduce code size, this moves the invoke info and inline info
method indices to this table.

Oat size for a large app (arm64): 77746816 -> 74023552 (-4.8%)
Average oat size reduction for golem (arm64): 2%

Repurposed unused SrcMapElem deduping to be for MethodInfo.
TODO: Delete SrcMapElem in a follow up CL.

Bug: 36124906

Test: clean-oat-host && test-art-host-run-test

Change-Id: I2241362e728389030b959f42161ce817cf6e2009

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 agoFix sign extension issues in x86_64 code generation
Colin Cross [Wed, 15 Mar 2017 23:33:27 +0000 (16:33 -0700)]
Fix sign extension issues in x86_64 code generation

movl expects an Immediate int64_t that is in the range -2GB to
2GB.  Cast uint32_t addresses to int32_t before passing as an
Immediate to movl.

In VisitIntegerValueOf, the base address may not fit in the disp32
field.  Fall back to storing the base address in a temporary
register if it is larger than 2GB.

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

7 years agox86-64: Code size improvement for MethodLoadKind::kDirectAddress.
Vladimir Marko [Thu, 16 Mar 2017 15:55:49 +0000 (15:55 +0000)]
x86-64: Code size improvement for MethodLoadKind::kDirectAddress.

Instead of movq(), use Load64BitValue() which uses MOVL
for 32-bit unsigned values. For pointers to low 2GiB,
this saves 2 bytes, for pointers to high 2GiB (of 32-bit
range) it saves 5 bytes.

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

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 agoEnsure the profile is written to disk at shutdown
Calin Juravle [Wed, 15 Mar 2017 01:45:55 +0000 (18:45 -0700)]
Ensure the profile is written to disk at shutdown

Force profile saving during shutdown. It will make benchmark automation
much easier.

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

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