OSDN Git Service

android-x86/art.git
7 years agoRename vdex-fd to output-vdex-fd, add input-vdex-fd.
Nicolas Geoffray [Mon, 7 Nov 2016 16:23:11 +0000 (16:23 +0000)]
Rename vdex-fd to output-vdex-fd, add input-vdex-fd.

In preparation for installd changes around vdex.

bug:30937355
Test: device boots, oat_file_assistant_test

Change-Id: I7eba67f278a03d77b3e66fd24a96fbfd442db678

7 years agoMerge "Revert "Revert "ART: Generalize FindClassInPathClassLoader"""
Treehugger Robot [Wed, 2 Nov 2016 14:31:27 +0000 (14:31 +0000)]
Merge "Revert "Revert "ART: Generalize FindClassInPathClassLoader"""

7 years agoMerge "Revert accidental change introduced in 000e188570."
Narayan Kamath [Wed, 2 Nov 2016 13:03:28 +0000 (13:03 +0000)]
Merge "Revert accidental change introduced in 000e188570."

7 years agoMerge "It exposes a few bugs that should be address before submitting it. "
Calin Juravle [Wed, 2 Nov 2016 12:46:14 +0000 (12:46 +0000)]
Merge "It exposes a few bugs that should be address before submitting it. "

7 years agoIt exposes a few bugs that should be address before submitting it.
Calin Juravle [Wed, 2 Nov 2016 12:45:18 +0000 (12:45 +0000)]
It exposes a few bugs that should be address before submitting it.

Revert "Use interpret-only instead of verify-at-runtime when testing JIT"

This reverts commit 5db5b1e6bc874373dafc73731669e5022ac93b10.

Change-Id: Ib87730ca4c9744a289d267af0b67dce2b6075cfd

7 years agoRevert "Revert "ART: Generalize FindClassInPathClassLoader""
Nicolas Geoffray [Wed, 2 Nov 2016 12:38:05 +0000 (12:38 +0000)]
Revert "Revert "ART: Generalize FindClassInPathClassLoader""

Bug: 32510706

Change is not responsible for the flakiness after all.

This reverts commit af3572bc21cf66f970090c852b976095bb028083.

Change-Id: I399049c217deeac6a5c3f9d678a46bdb84386e3f

7 years agoMerge "MIPS32: Fix string loads that use kDexCacheViaMethod."
Treehugger Robot [Wed, 2 Nov 2016 12:29:36 +0000 (12:29 +0000)]
Merge "MIPS32: Fix string loads that use kDexCacheViaMethod."

7 years agoMerge "ARM: VIXL32: Implement ArrayGet, ArraySet, BoundsCheck etc."
Roland Levillain [Wed, 2 Nov 2016 11:30:15 +0000 (11:30 +0000)]
Merge "ARM: VIXL32: Implement ArrayGet, ArraySet, BoundsCheck etc."

7 years agoRevert accidental change introduced in 000e188570.
Narayan Kamath [Wed, 2 Nov 2016 11:12:28 +0000 (11:12 +0000)]
Revert accidental change introduced in 000e188570.

Test: make test-art-host
Bug: 30550796
Change-Id: I1f4c7e4c2f6778b28d52bc3be419810d21d9378e

7 years agoMerge "MethodHandles: Add tests for transforms in change 598d43d0dec5925c77"
Narayan Kamath [Wed, 2 Nov 2016 11:11:23 +0000 (11:11 +0000)]
Merge "MethodHandles: Add tests for transforms in change 598d43d0dec5925c77"

7 years agoMethodHandles: Add tests for transforms in change 598d43d0dec5925c77
Narayan Kamath [Tue, 1 Nov 2016 09:40:23 +0000 (09:40 +0000)]
MethodHandles: Add tests for transforms in change 598d43d0dec5925c77

Test: make test-art-host
Bug: 30550796

Change-Id: I41e4c7f9398e5120b65577aa559c63fcc1d25508

7 years agoMerge "Revert "ART: Generalize FindClassInPathClassLoader""
Nicolas Geoffray [Wed, 2 Nov 2016 09:50:13 +0000 (09:50 +0000)]
Merge "Revert "ART: Generalize FindClassInPathClassLoader""

7 years agoRevert "ART: Generalize FindClassInPathClassLoader"
Nicolas Geoffray [Wed, 2 Nov 2016 09:49:25 +0000 (09:49 +0000)]
Revert "ART: Generalize FindClassInPathClassLoader"

Bug: 32510706

This reverts commit fd1ae75a03b0b17fdbbb0097e856f494edf12312.

Change-Id: Ie247477eea44a6a241d90864bf5dca29897ff4b8

7 years agoMerge "MethodHandles: Track libcore change cc4ded."
Narayan Kamath [Wed, 2 Nov 2016 09:32:17 +0000 (09:32 +0000)]
Merge "MethodHandles: Track libcore change cc4ded."

7 years agoMerge "Add VerifierDeps::Verify."
Nicolas Geoffray [Wed, 2 Nov 2016 09:06:42 +0000 (09:06 +0000)]
Merge "Add VerifierDeps::Verify."

7 years agoMerge "ART: Simplify test 913"
Andreas Gampe [Wed, 2 Nov 2016 07:33:52 +0000 (07:33 +0000)]
Merge "ART: Simplify test 913"

7 years agoART: Simplify test 913
Andreas Gampe [Wed, 2 Nov 2016 07:30:52 +0000 (00:30 -0700)]
ART: Simplify test 913

To work around unexpected GCs popping up and influencing this
not-very-robust test.

Bug: 32516268
Test: m test-art-host-run-test-913-heaps
Change-Id: I9ba831718de5487f01245238c30449e048e38ff2

7 years agoMerge "Fix heap poisoning build"
Mathieu Chartier [Wed, 2 Nov 2016 03:17:19 +0000 (03:17 +0000)]
Merge "Fix heap poisoning build"

7 years agoFix heap poisoning build
Mathieu Chartier [Wed, 2 Nov 2016 02:57:00 +0000 (19:57 -0700)]
Fix heap poisoning build

Remove extra %.

Bug: 32577579

Test: mm
Change-Id: I22a144da68c2b79ef38cd3f4522e040721517260

7 years agoMerge "Fix read barriers in VisitDexCachePairs"
Mathieu Chartier [Wed, 2 Nov 2016 02:54:11 +0000 (02:54 +0000)]
Merge "Fix read barriers in VisitDexCachePairs"

7 years agoMIPS32: Fix string loads that use kDexCacheViaMethod.
Alexey Frunze [Tue, 1 Nov 2016 23:07:32 +0000 (16:07 -0700)]
MIPS32: Fix string loads that use kDexCacheViaMethod.

This fixes some string-related crashes, in particular,
failures in test 563-checker-fakestring.

The bug was introduced in commit
aad75c6d5bfab2dc8e30fc99fafe8cd2dc8b74d8.

Test: booted MIPS32R2 in QEMU
Test: test-art-target-run-test-optimizing (MIPS32R2) on CI20

Change-Id: Ie7d9a5b2c572b0933756f6e95c567968f811342c

7 years agoMerge "Add interface fast path to art_quick_check_cast for X86_64"
Mathieu Chartier [Wed, 2 Nov 2016 00:55:28 +0000 (00:55 +0000)]
Merge "Add interface fast path to art_quick_check_cast for X86_64"

7 years agoFix read barriers in VisitDexCachePairs
Mathieu Chartier [Tue, 1 Nov 2016 21:45:26 +0000 (14:45 -0700)]
Fix read barriers in VisitDexCachePairs

It was ignoring kReadBarrierOption and marking through the read
barrier.

Bug: 12687968

Test: test-art-host CC
Change-Id: I5506acb5efb4b46be115ac899640522683898b47

7 years agoMerge "ART: Rename heap support file"
Andreas Gampe [Tue, 1 Nov 2016 22:54:32 +0000 (22:54 +0000)]
Merge "ART: Rename heap support file"

7 years agoAdd interface fast path to art_quick_check_cast for X86_64
Mathieu Chartier [Tue, 1 Nov 2016 17:10:05 +0000 (10:10 -0700)]
Add interface fast path to art_quick_check_cast for X86_64

X86_64 CC ritzperf results from perf:
art_quick_check_cast: 0.44% -> 0.76%
artIsAssignableFromCode: 1.78% -> 0.11%

Added stub test.

Bug: 32577579

Test: test-art-host

Change-Id: I5ed5675c4674fac8eed8826eb50527f4876e5f07

7 years agoMerge "ART: Fix test 913 for concurrent collector"
Treehugger Robot [Tue, 1 Nov 2016 22:42:15 +0000 (22:42 +0000)]
Merge "ART: Fix test 913 for concurrent collector"

7 years agoART: Fix test 913 for concurrent collector
Andreas Gampe [Tue, 1 Nov 2016 20:58:14 +0000 (13:58 -0700)]
ART: Fix test 913 for concurrent collector

First empty the internal counts without printing. Prevents picking
up on stray garbage collections.

Bug: 32516268
Test: m ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP ART_HEAP_POISONING=true test-art-host-run-test-913-heaps
Change-Id: Ib1e1993c19bbaa0bf77aeec4eedc6d67e59df840

7 years agoMerge changes I7d79aa90,Ie051e7d4
Treehugger Robot [Tue, 1 Nov 2016 20:36:15 +0000 (20:36 +0000)]
Merge changes I7d79aa90,Ie051e7d4

* changes:
  ART: Generalize FindClassInPathClassLoader
  ART: Move pathList well-known-field to actual class

7 years agoMerge "tools: Fix generate-asm-support script"
Treehugger Robot [Tue, 1 Nov 2016 18:49:59 +0000 (18:49 +0000)]
Merge "tools: Fix generate-asm-support script"

7 years agoMerge "Use interpret-only instead of verify-at-runtime when testing JIT"
Treehugger Robot [Tue, 1 Nov 2016 18:38:49 +0000 (18:38 +0000)]
Merge "Use interpret-only instead of verify-at-runtime when testing JIT"

7 years agoART: Rename heap support file
Andreas Gampe [Tue, 1 Nov 2016 17:30:44 +0000 (10:30 -0700)]
ART: Rename heap support file

Differentiate it from the runtime naming.

Bug: 32516268
Test: m test-art-host
Change-Id: I19a09933ada0f312930255a22f306527ce3b89db

7 years agoMerge changes Ica4f766c,Iaa97520d
Treehugger Robot [Tue, 1 Nov 2016 17:46:07 +0000 (17:46 +0000)]
Merge changes Ica4f766c,Iaa97520d

* changes:
  ART: Blacklist test 913 for target
  ART: Add forced garbage collection

7 years agoAdd VerifierDeps::Verify.
Nicolas Geoffray [Fri, 28 Oct 2016 18:50:34 +0000 (19:50 +0100)]
Add VerifierDeps::Verify.

Method verifies that the recorded dependencies still hold.

test: verifier_deps_test.cc
bug: 30937355
Change-Id: I137f77739355141e46994b4cb6043dbbc9353637

7 years agotools: Fix generate-asm-support script
Igor Murashkin [Tue, 1 Nov 2016 17:02:15 +0000 (10:02 -0700)]
tools: Fix generate-asm-support script

A recent change of cpp-define-generator to bp
had removed the 'd' suffix from the binary name.

Change-Id: Ie3fe3f504789798ccfb83b77d5b47e8aeb65e0cc

7 years agoUse interpret-only instead of verify-at-runtime when testing JIT
Calin Juravle [Wed, 24 Aug 2016 18:03:48 +0000 (19:03 +0100)]
Use interpret-only instead of verify-at-runtime when testing JIT

That's because we run most of our products with interpret-only and not
verify-at-runtime.

Test: ART_TEST_JIT=true m test-art-host
Change-Id: Ic5a9384adbf8a27977d230fe1b1c5858945dbc51

7 years agoMerge "Flush the CFG visualizer output after writing to it."
Roland Levillain [Tue, 1 Nov 2016 16:35:00 +0000 (16:35 +0000)]
Merge "Flush the CFG visualizer output after writing to it."

7 years agoARM: VIXL32: Implement ArrayGet, ArraySet, BoundsCheck etc.
Scott Wakeling [Mon, 3 Oct 2016 09:14:44 +0000 (10:14 +0100)]
ARM: VIXL32: Implement ArrayGet, ArraySet, BoundsCheck etc.

Over 100 more ART tests now start to pass.

Test: export ART_USE_VIXL_ARM_BACKEND=true && \
      mma test-art-host dist && \
      mma test-art-target dist

Change-Id: I8b7c2e29886981d72057d36347bca0626aabfe81

7 years agoART: Generalize FindClassInPathClassLoader
Andreas Gampe [Fri, 28 Oct 2016 22:34:26 +0000 (15:34 -0700)]
ART: Generalize FindClassInPathClassLoader

Also accept DexClassLoader. Do a fast check for subclasses of
BaseDexClassLoader that are in the boot classpath.

Bug: 32510706
Test: m test-art-host
Change-Id: I7d79aa90e0241e7717c5d146d1123f41746e4ffa

7 years agoART: Move pathList well-known-field to actual class
Andreas Gampe [Fri, 28 Oct 2016 21:33:28 +0000 (14:33 -0700)]
ART: Move pathList well-known-field to actual class

Use the actual declaring class, BaseDexClassLoader.

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

7 years agoMerge "Dump VerifierDeps in oatdump."
Nicolas Geoffray [Tue, 1 Nov 2016 15:17:58 +0000 (15:17 +0000)]
Merge "Dump VerifierDeps in oatdump."

7 years agoFlush the CFG visualizer output after writing to it.
Roland Levillain [Tue, 1 Nov 2016 14:48:47 +0000 (14:48 +0000)]
Flush the CFG visualizer output after writing to it.

This fixes test failures exposed by the ART Buildbot in
608-checker-unresolved-lse (AOT) on the hammerhead-ndebug
configuration.  The test used to fail because the CFG file
dumped by second invocation of dex2oat on device would be
truncated (at the beginning of the disassembly section
of the second compiled Dex file's contents) because of
dex2oat's fast exit.

Interestingly enough, this is the only case where this
failure has been observed, which seems to be due to a
combination of:
- targeting (32-bit) ARM;
- using a secondary Dex file (used to create an unresolved
  access for that test);
- compiling that secondary Dex file with dex2oat (ndebug
  mode) instead of dex2oatd;
- supporting multithread CFG graph dumping (by having the
  write-to-file operation in a critical section) since
  https://android-review.googlesource.com/#/c/296224/.

Test: art/test/run-test -O --debuggable 608-checker-unresolved-lse
Change-Id: Ifc1a23a3708b8645fd36c148312074bb9fe00cfc

7 years agoDump VerifierDeps in oatdump.
Nicolas Geoffray [Sun, 30 Oct 2016 21:03:35 +0000 (21:03 +0000)]
Dump VerifierDeps in oatdump.

bug:30937355
test: oatdump_test
Change-Id: I344726a20f21a6c6986047c21278c753b9e24575

7 years agoMethodHandles: Track libcore change cc4ded.
Narayan Kamath [Tue, 1 Nov 2016 10:57:15 +0000 (10:57 +0000)]
MethodHandles: Track libcore change cc4ded.

Track increase in vtable size of java.lang.Class, and add additional
tests for the method that resulted in the increase as well as its
caller.

Bug: 30550796
Test: make test-art-host
Change-Id: I0ea6cbf8840d45b74f3a50e4c9df2af5397d41e3

7 years agoMerge "Add a VerifierDeps::Dump method."
Nicolas Geoffray [Tue, 1 Nov 2016 09:11:45 +0000 (09:11 +0000)]
Merge "Add a VerifierDeps::Dump method."

7 years agoMerge "Address missed review comment."
Nicolas Geoffray [Tue, 1 Nov 2016 09:11:22 +0000 (09:11 +0000)]
Merge "Address missed review comment."

7 years agoMerge "MethodHandles: Better detail message for WrongMethodTypeExceptions"
Narayan Kamath [Tue, 1 Nov 2016 08:59:19 +0000 (08:59 +0000)]
Merge "MethodHandles: Better detail message for WrongMethodTypeExceptions"

7 years agoART: Blacklist test 913 for target
Andreas Gampe [Tue, 1 Nov 2016 02:32:53 +0000 (19:32 -0700)]
ART: Blacklist test 913 for target

As usual, black-list an agent test for the target.

Bug: 32516268
Test: m test-art-host-run-test-913-heaps
Change-Id: Ica4f766c949da33067b7f478f08d9372c6085b11

7 years agoART: Add forced garbage collection
Andreas Gampe [Tue, 1 Nov 2016 02:31:03 +0000 (19:31 -0700)]
ART: Add forced garbage collection

Add ForceGarbageCollection support to the agent interface.

Add a test.

Test: m test-art-host-run-test-913-heaps
Bug: 32516268
Change-Id: Iaa97520d1b9e4b0adf088ccdf9712193c485b7c5

7 years agoMerge "Move intern table to ObjPtr"
Mathieu Chartier [Tue, 1 Nov 2016 01:30:33 +0000 (01:30 +0000)]
Merge "Move intern table to ObjPtr"

7 years agoMove intern table to ObjPtr
Mathieu Chartier [Mon, 31 Oct 2016 21:58:04 +0000 (14:58 -0700)]
Move intern table to ObjPtr

Also moved StringLog to use a GcRoot.

Also removed read barriers from lookup to prevent making weak strings
strongly live more often than necessary.

Bug: 31113334

Test: clean-oat-host && test-art-host CC baker

Change-Id: I05586e125d5dfed8d184890468fd398c79f32619

7 years agoMerge changes I9afd9f88,I1cf94699
Andreas Gampe [Mon, 31 Oct 2016 23:25:50 +0000 (23:25 +0000)]
Merge changes I9afd9f88,I1cf94699

* changes:
  ART: Blacklist test 912 for target
  ART: Add GetClassSignature

7 years agoART: Blacklist test 912 for target
Andreas Gampe [Sat, 29 Oct 2016 02:42:20 +0000 (19:42 -0700)]
ART: Blacklist test 912 for target

As usual, black-list an agent test for the target.

Bug: 31684578
Test: m test-art-host-run-test-912-classes
Change-Id: I9afd9f88bf794e6d90d1ea5cd259de4fbed7e27e

7 years agoART: Add GetClassSignature
Andreas Gampe [Sat, 29 Oct 2016 02:34:57 +0000 (19:34 -0700)]
ART: Add GetClassSignature

Add support to retrieve the signature of a JNI class.

Add a test.

Bug: 31684578
Test: m test-art-host-run-test-912-classes
Change-Id: I1cf946996f9089cb5d41e93b4f1064193e9d6350

7 years agoMerge changes Ib44df099,I8508f96f
Treehugger Robot [Mon, 31 Oct 2016 21:36:19 +0000 (21:36 +0000)]
Merge changes Ib44df099,I8508f96f

* changes:
  ART: Add GetMethodModifiers
  ART: Add GetMethodDeclaringClass

7 years agoMerge "MethodHandles: Remove obsolete test workaround."
Narayan Kamath [Mon, 31 Oct 2016 15:53:13 +0000 (15:53 +0000)]
Merge "MethodHandles: Remove obsolete test workaround."

7 years agoMethodHandles: Remove obsolete test workaround.
Narayan Kamath [Mon, 31 Oct 2016 14:13:45 +0000 (14:13 +0000)]
MethodHandles: Remove obsolete test workaround.

Support for recognizing exact invokes was added by commit
3d617ac3d87f7fa98793406818e54b057bd701a1.

Test: make test-art-host
Bug: 30550796
Change-Id: Iab103e3f0faa90addac5929aa0c38baef3572569

7 years agoMethodHandles: Better detail message for WrongMethodTypeExceptions
Narayan Kamath [Mon, 31 Oct 2016 13:55:55 +0000 (13:55 +0000)]
MethodHandles: Better detail message for WrongMethodTypeExceptions

We now include the type of the callee and the callsite.

This change also fixes a call to ThrowWrongMethodTypeException that
passed arguments in the wrong order.

Test: make test-art-host

Change-Id: I3ced2e331cb49b616a8374f5a604dafa37330059

7 years agoMerge "MethodHandles: Temporarily rewrite test of exact invokes."
Narayan Kamath [Mon, 31 Oct 2016 14:04:01 +0000 (14:04 +0000)]
Merge "MethodHandles: Temporarily rewrite test of exact invokes."

7 years agoMethodHandles: Temporarily rewrite test of exact invokes.
Narayan Kamath [Mon, 31 Oct 2016 12:58:45 +0000 (12:58 +0000)]
MethodHandles: Temporarily rewrite test of exact invokes.

Go through an additional layer of indirection to fool the overly
smart type inference.

The issue needs to be investigated on the Jack side, as per
the associated bug.

Test: make test-art-host
Bug: 32536744

Change-Id: Ic02bf155822e76332eaa7a300ba9c0da8e751e26

7 years agoMerge "Interpreter: fix build."
Narayan Kamath [Mon, 31 Oct 2016 11:53:07 +0000 (11:53 +0000)]
Merge "Interpreter: fix build."

7 years agoInterpreter: fix build.
Narayan Kamath [Mon, 31 Oct 2016 11:50:54 +0000 (11:50 +0000)]
Interpreter: fix build.

Due to unfortunate commit timing.

Test: make build-art-host
Change-Id: Ie523399309b20836ab9f7a8a8224c5cb41bc79fc

7 years agoMerge "Getter/Setter support for invoke-polymorphic of invokeExact()."
Orion Hodson [Mon, 31 Oct 2016 11:42:13 +0000 (11:42 +0000)]
Merge "Getter/Setter support for invoke-polymorphic of invokeExact()."

7 years agoMerge "method_handles: Complete support for emulated stack frames."
Narayan Kamath [Mon, 31 Oct 2016 10:25:57 +0000 (10:25 +0000)]
Merge "method_handles: Complete support for emulated stack frames."

7 years agoGetter/Setter support for invoke-polymorphic of invokeExact().
Orion Hodson [Wed, 19 Oct 2016 13:00:46 +0000 (14:00 +0100)]
Getter/Setter support for invoke-polymorphic of invokeExact().

Test: make test-art-host
Bug: 30550796

Change-Id: I427a6e0afba88b223655ad1ba30843aaf255182b

7 years agoAdd a VerifierDeps::Dump method.
Nicolas Geoffray [Fri, 28 Oct 2016 13:45:48 +0000 (14:45 +0100)]
Add a VerifierDeps::Dump method.

Also, fix the Encode/Decode logic around dex file order:
iterating over a std::map doesn't guarantee insertion order.

test: verifier_deps_test
bug: 30937355

Change-Id: Id3efd703b3c8ca21ab49c2600c612c132fb021cd

7 years agoMerge "ART: Blacklist test 911 for target"
Andreas Gampe [Sat, 29 Oct 2016 02:40:56 +0000 (02:40 +0000)]
Merge "ART: Blacklist test 911 for target"

7 years agoART: Blacklist test 911 for target
Andreas Gampe [Sat, 29 Oct 2016 02:38:49 +0000 (19:38 -0700)]
ART: Blacklist test 911 for target

As usual, black-list an agent test for the target.

Bug: 31684812
Test: m test-art-host-run-test-911-get-stack-trace
Change-Id: I477ede7eb9b0ce7e76e3705d911052b332087e35

7 years agoART: Add GetMethodModifiers
Andreas Gampe [Sat, 29 Oct 2016 01:07:18 +0000 (18:07 -0700)]
ART: Add GetMethodModifiers

Support GetMethodModifiers to retrieve the modifiers of a JNI
method.

Extend test 910.

Bug: 31684812
Test: m test-art-host-run-test-910-methods
Change-Id: Ib44df099bc056c557e526d5fa267df48ac2fd86c

7 years agoART: Add GetMethodDeclaringClass
Andreas Gampe [Sat, 29 Oct 2016 00:33:13 +0000 (17:33 -0700)]
ART: Add GetMethodDeclaringClass

Support GetMethodDeclaringClass to retrieve the declaring class
of a JNI method.

Extend test 910. Also cover proxies.

Bug: 31684812
Test: m test-art-host-run-test-910-methods
Change-Id: I8508f96f88692e540ef53f693ff85590b7553f19

7 years agoMerge changes Ifa5818eb,Icbb9f3a6
Treehugger Robot [Sat, 29 Oct 2016 00:04:38 +0000 (00:04 +0000)]
Merge changes Ifa5818eb,Icbb9f3a6

* changes:
  ART: Add GetStackTrace support
  ART: Add synchronous checkpoint

7 years agoART: Add GetStackTrace support
Andreas Gampe [Fri, 28 Oct 2016 02:23:09 +0000 (19:23 -0700)]
ART: Add GetStackTrace support

Add support for getting a stack trace.

Bug: 31684812
Test: m test-art-host
Change-Id: Ifa5818ebca38caafb09616ffd7df30186eb8a06f

7 years agoART: Add synchronous checkpoint
Andreas Gampe [Fri, 28 Oct 2016 02:21:23 +0000 (19:21 -0700)]
ART: Add synchronous checkpoint

Add a thread function that will run the given checkpoint function
on the thread and wait for its completion.

Bug: 31684812
Test: m test-art-host
Change-Id: Icbb9f3a6b0bbf31e62be0508714ee172456bea29

7 years agoMerge changes I369333c1,I55e7b6da
Treehugger Robot [Fri, 28 Oct 2016 20:05:47 +0000 (20:05 +0000)]
Merge changes I369333c1,I55e7b6da

* changes:
  ART: Blacklist test 910 on target
  ART: Add method name support to TI

7 years agoART: Blacklist test 910 on target
Andreas Gampe [Fri, 28 Oct 2016 02:10:45 +0000 (19:10 -0700)]
ART: Blacklist test 910 on target

As usual, blacklist agent test on target until supported.

Bug: 31684812
Test: m test-art-host
Change-Id: I369333c13f8959ceaf847a598f6b3e31597bf0c6

7 years agoART: Add method name support to TI
Andreas Gampe [Fri, 28 Oct 2016 01:25:17 +0000 (18:25 -0700)]
ART: Add method name support to TI

Add support for GetMethodName.

Bug: 31684812
Test: m test-art-host
Change-Id: I55e7b6dac7e7193c3d9979ebb289b0e2849ad030

7 years agoMerge "ART: Clean up Thread"
Treehugger Robot [Fri, 28 Oct 2016 19:06:49 +0000 (19:06 +0000)]
Merge "ART: Clean up Thread"

7 years agoAddress missed review comment.
Nicolas Geoffray [Wed, 3 Aug 2016 19:48:13 +0000 (20:48 +0100)]
Address missed review comment.

Bug: 30351473
test: m test-art-host

Change-Id: I8d0d536e9280555d156280d87055631cabf5b2b7

7 years agoART: Clean up Thread
Andreas Gampe [Wed, 26 Oct 2016 20:43:14 +0000 (13:43 -0700)]
ART: Clean up Thread

Make some functions private. Move some test-only functionality to
the test using it.

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

7 years agoMerge changes I6c3a84f5,I05414f3b
Treehugger Robot [Fri, 28 Oct 2016 16:03:53 +0000 (16:03 +0000)]
Merge changes I6c3a84f5,I05414f3b

* changes:
  ARM: VIXL32: Move code to ease the diff with old codegen.
  ARM: VIXL32: Implement Shifts, Neg, Bitwise and Rotate visitors.

7 years agoMerge "ART: Make graph visualizer thread-safe"
Treehugger Robot [Fri, 28 Oct 2016 15:14:14 +0000 (15:14 +0000)]
Merge "ART: Make graph visualizer thread-safe"

7 years agoART: Make graph visualizer thread-safe
Andreas Gampe [Thu, 27 Oct 2016 19:04:57 +0000 (12:04 -0700)]
ART: Make graph visualizer thread-safe

Store visualizer to a temporary string stream during compilation.
Print to the final output on destruction, and do so under a lock.

Note: the order of methods in the output is only guaranteed to be
      deterministic with single-threaded compilation (-j1).

Test: m
Test: Compile multithread
Test: Check output file that begin_compilation and end_compilation
      are interleaved
Test: Check that names of compiled methods match

Change-Id: I7eb3be2f88333cf1f116fe71b77cffa1ac702208

7 years agoARM: VIXL32: Move code to ease the diff with old codegen.
Artem Serov [Tue, 25 Oct 2016 14:25:33 +0000 (15:25 +0100)]
ARM: VIXL32: Move code to ease the diff with old codegen.

This patch doesn't change anything except relocation the code
to preserve original order of functions as in code_generator_arm.cc
to make it easier to review and to fulfill comparison of two arm
backends for reaching the parity between them.

Test: export ART_USE_VIXL_ARM_BACKEND=true && \
      mma test-art-host dist && \
      mma test-art-target dist

Change-Id: I6c3a84f5606069a795d4d8122fc0d4a308e2b7ec

7 years agoARM: VIXL32: Implement Shifts, Neg, Bitwise and Rotate visitors.
Artem Serov [Fri, 23 Sep 2016 16:17:54 +0000 (17:17 +0100)]
ARM: VIXL32: Implement Shifts, Neg, Bitwise and Rotate visitors.

Tests which now start to pass:
* 112-double-math
* 415-optimizing-arith-neg
* 427-bitwise
* 431-optimizing-arith-shifts
* 436-shift-constant
* 474-fp-sub-neg
* 485-checker-dce-loop-update
* 514-shifts
* 542-bitfield-rotates
* 557-checker-instruct-simplifier-ror
* 564-checker-bitcount
* 565-checker-rotate

Test: export ART_USE_VIXL_ARM_BACKEND=true && \
      mma test-art-host dist && \
      mma test-art-target dist

Change-Id: I05414f3b8bc12cf0fa74b53945eea703c8c55cbe

7 years agoMerge "Remove default argument values in GenerateGcRootFieldLoad."
Roland Levillain [Fri, 28 Oct 2016 14:15:10 +0000 (14:15 +0000)]
Merge "Remove default argument values in GenerateGcRootFieldLoad."

7 years agoMerge "Use CLREX in ARM/ARM64 CAS intrinsic Baker read barrier slow paths."
Roland Levillain [Fri, 28 Oct 2016 13:18:47 +0000 (13:18 +0000)]
Merge "Use CLREX in ARM/ARM64 CAS intrinsic Baker read barrier slow paths."

7 years agomethod_handles: Complete support for emulated stack frames.
Narayan Kamath [Mon, 24 Oct 2016 16:14:25 +0000 (17:14 +0100)]
method_handles: Complete support for emulated stack frames.

Most of this change is a refactor that templatizes the code
that performs argument conversions. This allows us to copy arguments
between two shadow frames, or an emulated stack frame and a shadow
frame.

Test: make test-art-host
Bug: 30550796

Change-Id: I23e65735a2dbd28f3c7b7d1ccf9762e77e0cf1f1

7 years agoMerge "method_verifier_test: Allow soft verifier failures for java/lang/invoke.*"
Narayan Kamath [Fri, 28 Oct 2016 11:50:47 +0000 (11:50 +0000)]
Merge "method_verifier_test: Allow soft verifier failures for java/lang/invoke.*"

7 years agomethod_verifier_test: Allow soft verifier failures for java/lang/invoke.*
Narayan Kamath [Fri, 28 Oct 2016 09:57:41 +0000 (10:57 +0100)]
method_verifier_test: Allow soft verifier failures for java/lang/invoke.*

Classes in this package might use experimental opcodes.

Bug: 32496585
Bug: 30550796
Test: make test-art-host
Change-Id: Ibf1ea78b090fff065b792f00afa143182ef195d4

7 years agoMerge "class_linker: Change allocation of MethodType dex_cache entries."
Narayan Kamath [Fri, 28 Oct 2016 11:49:26 +0000 (11:49 +0000)]
Merge "class_linker: Change allocation of MethodType dex_cache entries."

7 years agoclass_linker: Change allocation of MethodType dex_cache entries.
Narayan Kamath [Fri, 28 Oct 2016 09:19:54 +0000 (10:19 +0100)]
class_linker: Change allocation of MethodType dex_cache entries.

We allocate them regardless of the value of the runtime flag to
avoid needing changes to the compiler etc. The memory hit can be
mitigated in production systems that don't use MethodHandles by
setting kDexCacheMethodTypeCacheSize to 0.

Also, add DCHECKS in the interpreter to make sure the runtime
never executes an invoke-polymorphic instruction when method handles
are disabled.

Test: make test-art-host
Bug: 30550796
Change-Id: Id4b2065d99dc13625a51037b7d1a9f0ac5ff6121

7 years agoMerge "Add support for Baker read barriers in UnsafeCASObject intrinsics."
Roland Levillain [Fri, 28 Oct 2016 10:09:33 +0000 (10:09 +0000)]
Merge "Add support for Baker read barriers in UnsafeCASObject intrinsics."

7 years agoMerge "compiler_driver: loosen DCHECK for java/lang/invoke classes."
Narayan Kamath [Fri, 28 Oct 2016 08:54:59 +0000 (08:54 +0000)]
Merge "compiler_driver: loosen DCHECK for java/lang/invoke classes."

7 years agocompiler_driver: loosen DCHECK for java/lang/invoke classes.
Narayan Kamath [Thu, 27 Oct 2016 10:47:30 +0000 (11:47 +0100)]
compiler_driver: loosen DCHECK for java/lang/invoke classes.

Verifier support for invoke-polymorphic hasn't been implemented
yet, so boot classpath classes that use it will not be verified
at compile time. This change will be reverted once verifier support
is implemented.

This change is a hack.

Test: make test-art-host
Bug: 32496585
Bug: 30550796

Change-Id: Id8fcb3fd0d5ddd09f1c80f751a5f96364b137855

7 years agoMerge "ART: Add missing PrettyCause"
Treehugger Robot [Thu, 27 Oct 2016 21:02:22 +0000 (21:02 +0000)]
Merge "ART: Add missing PrettyCause"

7 years agoMerge "ART: Blacklist test 908 for GC_STRESS"
Treehugger Robot [Thu, 27 Oct 2016 20:45:19 +0000 (20:45 +0000)]
Merge "ART: Blacklist test 908 for GC_STRESS"

7 years agoMerge "ART: Add function to retrieve all tagged objects"
Treehugger Robot [Thu, 27 Oct 2016 20:29:26 +0000 (20:29 +0000)]
Merge "ART: Add function to retrieve all tagged objects"

7 years agoART: Blacklist test 908 for GC_STRESS
Andreas Gampe [Thu, 27 Oct 2016 19:03:13 +0000 (12:03 -0700)]
ART: Blacklist test 908 for GC_STRESS

The test "measures" GC invocations and expects stable deterministic
behavior that cannot be guaranteed with a small heap.

Bug: 31684633
Test: m ART_TEST_GC_STRESS=true test-art-host
Change-Id: Id40f42e34b373643802e393fce7741eef549fb4b

7 years agoART: Add missing PrettyCause
Andreas Gampe [Thu, 27 Oct 2016 18:50:18 +0000 (11:50 -0700)]
ART: Add missing PrettyCause

Add missing name. Refactor so that build breaks next time anyone
forgets adding this.

Bug: 31385027
Test: m test-art-host
Change-Id: I7f5a510b56829aa39e8ca6bcff11c3e9eee95000

7 years agoRemove default argument values in GenerateGcRootFieldLoad.
Roland Levillain [Thu, 27 Oct 2016 17:02:48 +0000 (18:02 +0100)]
Remove default argument values in GenerateGcRootFieldLoad.

These values were never or rarely used.

Test: mmma art (with and without `ART_USE_READ_BARRIER=true`)
Bug: 12687968
Bug: 29516974
Change-Id: I5d15140ce501bf50d7a87871b1e492cee54913db

7 years agoMerge "Remove H[Reverse]PostOrderIterator and HInsertionOrderIterator."
Vladimir Marko [Thu, 27 Oct 2016 15:44:54 +0000 (15:44 +0000)]
Merge "Remove H[Reverse]PostOrderIterator and HInsertionOrderIterator."