OSDN Git Service

android-x86/art.git
7 years agoMerge "Fix spin waiting for weak ref access in the intern table for CC."
Hiroshi Yamauchi [Fri, 4 Nov 2016 17:27:24 +0000 (17:27 +0000)]
Merge "Fix spin waiting for weak ref access in the intern table for CC."

7 years agoMerge "Avoid visiting just eliminated bounds check."
Treehugger Robot [Fri, 4 Nov 2016 16:45:12 +0000 (16:45 +0000)]
Merge "Avoid visiting just eliminated bounds check."

7 years agoMerge "Fix ART run-test 562-no-intermediate."
Roland Levillain [Fri, 4 Nov 2016 16:35:07 +0000 (16:35 +0000)]
Merge "Fix ART run-test 562-no-intermediate."

7 years agoFix ART run-test 562-no-intermediate.
Roland Levillain [Fri, 4 Nov 2016 14:10:29 +0000 (14:10 +0000)]
Fix ART run-test 562-no-intermediate.

- Rename it to 562-checker-no-intermediate, so that Checker
  assertions are actually verified.
- Fix Checker assertions, as they did not match the
  code expected from the compiler.
- Have the test use an integer array (instead of a double
  array), so that Checker assertions can be extended to ARM
  as well (the ARM back end does not support the
  IntermediateAddress instruction on long, float and double
  arrays).

Test: make test-art-target-run-test-562-checker-no-intermediate
Bug: 30888043
Change-Id: I32c891948c585983d5fe5d6df092bc7a59c19ae6

7 years agoMerge "Workaround adb issue in run-test."
Nicolas Geoffray [Fri, 4 Nov 2016 13:13:15 +0000 (13:13 +0000)]
Merge "Workaround adb issue in run-test."

7 years agoWorkaround adb issue in run-test.
Nicolas Geoffray [Fri, 4 Nov 2016 13:03:05 +0000 (13:03 +0000)]
Workaround adb issue in run-test.

Try a few times before giving up on fetching the architecture.

bug:32655576
Change-Id: I05c6520efa56570ebe23820fca30fc234c368c88

7 years agoMerge "MethodHandles: Implement MethodHandle.asType."
Treehugger Robot [Fri, 4 Nov 2016 11:48:47 +0000 (11:48 +0000)]
Merge "MethodHandles: Implement MethodHandle.asType."

7 years agoMerge "Integrate VerifierDeps in compiler driver."
Nicolas Geoffray [Fri, 4 Nov 2016 11:03:18 +0000 (11:03 +0000)]
Merge "Integrate VerifierDeps in compiler driver."

7 years agoMerge "MethodHandles: Track libcore change eb497095e03068459."
Narayan Kamath [Fri, 4 Nov 2016 08:59:06 +0000 (08:59 +0000)]
Merge "MethodHandles: Track libcore change eb497095e03068459."

7 years agoMerge "More loop-body simplifications."
Aart Bik [Fri, 4 Nov 2016 00:34:11 +0000 (00:34 +0000)]
Merge "More loop-body simplifications."

7 years agoMerge "ART: Make Handle trivially-copyable"
Treehugger Robot [Thu, 3 Nov 2016 23:39:29 +0000 (23:39 +0000)]
Merge "ART: Make Handle trivially-copyable"

7 years agoAvoid visiting just eliminated bounds check.
Aart Bik [Tue, 1 Nov 2016 21:23:58 +0000 (14:23 -0700)]
Avoid visiting just eliminated bounds check.

Test: test-art-host
Bug: 32547652
Change-Id: Ifaed3d4eee08c6d044a41ade6c1ee73989489110

7 years agoART: Make Handle trivially-copyable
Andreas Gampe [Thu, 3 Nov 2016 20:06:25 +0000 (13:06 -0700)]
ART: Make Handle trivially-copyable

Use default copy constructor and copy assignment to make Handle
trivially copyable. Do the same for MutableHandle.

Fix up unused Handle warnings. Add asserts in the HandleScope
test.

Bug: 32619234
Test: m test-art-host
Change-Id: I151f0bdbeeb131a6fc5c44610f345663ebe96c09

7 years agoMore loop-body simplifications.
Aart Bik [Thu, 3 Nov 2016 00:50:27 +0000 (17:50 -0700)]
More loop-body simplifications.

Rationale:
This removes all dead induction from the CaffeineLogic loop,
giving yet the next performance boost  (2700us->1700us).
Also, the runtime is now the same between a DX compiled
and JACK compiled version, giving confidence that all
recent introduced optimizations are generally useful
and something expected from any optimizing compiler.
Last, less realistic improvement will pale anything
seen so far, since it removes the full loop (still TBD).

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

7 years agoMerge changes I86bc206d,If20a34e7,I6ee6c826,I240341a0
Treehugger Robot [Thu, 3 Nov 2016 20:43:06 +0000 (20:43 +0000)]
Merge changes I86bc206d,If20a34e7,I6ee6c826,I240341a0

* changes:
  ART: Make some variables references
  ART: Put macro parameters into parentheses
  ART: Add "explicit" to constructors
  ART: Change iterator value type to match

7 years agoFix spin waiting for weak ref access in the intern table for CC.
Hiroshi Yamauchi [Thu, 3 Nov 2016 20:03:20 +0000 (13:03 -0700)]
Fix spin waiting for weak ref access in the intern table for CC.

Bug: 32637633
Test: test-art-host with CC
Change-Id: I8f0f9f5ca24687f688318ea5cafcbb7f6597448c

7 years agoMerge "Remove lock from ClassExt installation procedure."
Treehugger Robot [Thu, 3 Nov 2016 18:53:38 +0000 (18:53 +0000)]
Merge "Remove lock from ClassExt installation procedure."

7 years agoMerge "Pass some arguments by const reference."
Treehugger Robot [Thu, 3 Nov 2016 18:17:03 +0000 (18:17 +0000)]
Merge "Pass some arguments by const reference."

7 years agoART: Make some variables references
Andreas Gampe [Thu, 3 Nov 2016 15:21:59 +0000 (08:21 -0700)]
ART: Make some variables references

Avoid copying values.

Bug: 32619234
Test: m
Change-Id: I86bc206d6f6fccdf730c62c60317a7a4ae26c11b

7 years agoART: Put macro parameters into parentheses
Andreas Gampe [Thu, 3 Nov 2016 15:21:21 +0000 (08:21 -0700)]
ART: Put macro parameters into parentheses

Add parentheses to make macros robust.

Bug: 32619234
Test: m
Change-Id: If20a34e7e3497b1d969800d5004c8535810d90a6

7 years agoART: Add "explicit" to constructors
Andreas Gampe [Thu, 3 Nov 2016 15:20:17 +0000 (08:20 -0700)]
ART: Add "explicit" to constructors

Add explicit to two constructors with single argument.

Bug: 32619234
Test: m
Change-Id: I6ee6c8264d76017247e2236170c776c801719a0a

7 years agoART: Change iterator value type to match
Andreas Gampe [Thu, 3 Nov 2016 15:19:01 +0000 (08:19 -0700)]
ART: Change iterator value type to match

Make keys const.

Bug: 32619234
Test: m
Change-Id: I240341a0fec79754bea2ed21c0d0a4ddd119ce35

7 years agoMerge "Check for forwarding address in READ_BARRIER_MARK_REG"
Mathieu Chartier [Thu, 3 Nov 2016 18:14:56 +0000 (18:14 +0000)]
Merge "Check for forwarding address in READ_BARRIER_MARK_REG"

7 years agoMerge "Update AArch32 VIXL intrinsics w.r.t. the new art::ReadBarrier API."
Roland Levillain [Thu, 3 Nov 2016 18:14:31 +0000 (18:14 +0000)]
Merge "Update AArch32 VIXL intrinsics w.r.t. the new art::ReadBarrier API."

7 years agoUpdate AArch32 VIXL intrinsics w.r.t. the new art::ReadBarrier API.
Roland Levillain [Thu, 3 Nov 2016 18:09:18 +0000 (18:09 +0000)]
Update AArch32 VIXL intrinsics w.r.t. the new art::ReadBarrier API.

Update with respect to changes introduced by commit
12b58b23de974232e991c650405f929f8b0dcc9f.

Test: ART_USE_READ_BARRIER=true make
Change-Id: Iaefd664172ff19cce17cf4d3b2064dba86170c22

7 years agoMerge "Add more missing definitions in art::arm::CodeGeneratorARMVIXL."
Roland Levillain [Thu, 3 Nov 2016 17:56:19 +0000 (17:56 +0000)]
Merge "Add more missing definitions in art::arm::CodeGeneratorARMVIXL."

7 years agoAdd more missing definitions in art::arm::CodeGeneratorARMVIXL.
Roland Levillain [Thu, 3 Nov 2016 17:51:58 +0000 (17:51 +0000)]
Add more missing definitions in art::arm::CodeGeneratorARMVIXL.

This fixes build breakages on the read barrier
configuration.  These are just dummy definitions, as ART's
AArch32 VIXL back end is work in progress.

Test: ART_USE_READ_BARRIER=true make
Change-Id: I8a0dd9724e4bf95664330232db40fd58bb8d234e

7 years agoMerge "Clean up the runtime read barrier and fix fake address dependency."
Hiroshi Yamauchi [Thu, 3 Nov 2016 17:36:23 +0000 (17:36 +0000)]
Merge "Clean up the runtime read barrier and fix fake address dependency."

7 years agoMerge "More store/allocation elimination."
Mingyao Yang [Thu, 3 Nov 2016 17:14:35 +0000 (17:14 +0000)]
Merge "More store/allocation elimination."

7 years agoMerge "Output more for "Unable to determine architecture"."
Nicolas Geoffray [Thu, 3 Nov 2016 17:11:48 +0000 (17:11 +0000)]
Merge "Output more for "Unable to determine architecture"."

7 years agoMerge "ART: Additional initialization for MethodHandle accessors."
Orion Hodson [Thu, 3 Nov 2016 17:07:40 +0000 (17:07 +0000)]
Merge "ART: Additional initialization for MethodHandle accessors."

7 years agoMerge "Add missing definition of CodeGeneratorARMVIXL::GenerateReadBarrierSlow."
Nicolas Geoffray [Thu, 3 Nov 2016 17:05:53 +0000 (17:05 +0000)]
Merge "Add missing definition of CodeGeneratorARMVIXL::GenerateReadBarrierSlow."

7 years agoART: Additional initialization for MethodHandle accessors.
Orion Hodson [Thu, 3 Nov 2016 12:01:24 +0000 (12:01 +0000)]
ART: Additional initialization for MethodHandle accessors.

Ensure classes are initialized before static fields are touched by
MethodHandle setters and getters.

Bug: 30550796
Test: m test-art-host-run-test-979-invoke-polymorphic-accessors
Change-Id: Ibac4372607ecbb4e6f7347b89cef6d280632c835

7 years agoRemove lock from ClassExt installation procedure.
Alex Light [Wed, 2 Nov 2016 18:19:31 +0000 (11:19 -0700)]
Remove lock from ClassExt installation procedure.

We were using a lock on the class to ensure that we avoid races in
setting the ext_data_ field of a class object. We replace this with a
CAS of the field in order to prevent deadlocks.

Test: mma test-art-host
Change-Id: Ie436ff9526f2c3b38a9af49c5606a7cee6d718f1

7 years agoAdd missing definition of CodeGeneratorARMVIXL::GenerateReadBarrierSlow.
Roland Levillain [Thu, 3 Nov 2016 16:09:47 +0000 (16:09 +0000)]
Add missing definition of CodeGeneratorARMVIXL::GenerateReadBarrierSlow.

This fixes build breakages on the read barrier table lookup
configuration.  This is just a dummy definition, as ART's
AArch32 VIXL back end is work in progress.

Test: ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP make
Change-Id: Ifef39148fb7d9d8a5ad309ec0a2edc8a97d72f3d

7 years agoMerge "Clean up parameter names in ManagedRegisterEntrySpills."
Vladimir Marko [Thu, 3 Nov 2016 16:10:59 +0000 (16:10 +0000)]
Merge "Clean up parameter names in ManagedRegisterEntrySpills."

7 years agoPass some arguments by const reference.
Vladimir Marko [Thu, 3 Nov 2016 15:12:29 +0000 (15:12 +0000)]
Pass some arguments by const reference.

Test: Rely on TreeHugger.
Bug: 32619234
Change-Id: Ia26277893641dcb3562eaeacaec4e089a978d56a

7 years agoMethodHandles: Implement MethodHandle.asType.
Narayan Kamath [Wed, 2 Nov 2016 18:47:11 +0000 (18:47 +0000)]
MethodHandles: Implement MethodHandle.asType.

Tracks libcore change 16fa583fb5ee489.

Test: make test-art-host
Bug: 30550796

Change-Id: I2457b563f67a183c4eebf94ddbe74cc55f772ee0

7 years agoOutput more for "Unable to determine architecture".
Nicolas Geoffray [Thu, 3 Nov 2016 15:03:46 +0000 (15:03 +0000)]
Output more for "Unable to determine architecture".

test: run-test

Change-Id: I3a3637ba5a38f5af7cdf1e4b337e11ff652db893

7 years agoMethodHandles: Track libcore change eb497095e03068459.
Narayan Kamath [Wed, 2 Nov 2016 14:16:27 +0000 (14:16 +0000)]
MethodHandles: Track libcore change eb497095e03068459.

Adds tests for Lookup.unreflect*

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

7 years agoMerge "ARM: VIXL32: Implement intrinsics."
Roland Levillain [Thu, 3 Nov 2016 14:27:57 +0000 (14:27 +0000)]
Merge "ARM: VIXL32: Implement intrinsics."

7 years agoClean up parameter names in ManagedRegisterEntrySpills.
Vladimir Marko [Thu, 3 Nov 2016 13:38:52 +0000 (13:38 +0000)]
Clean up parameter names in ManagedRegisterEntrySpills.

Avoid the double underscore prefix. Identifiers starting
with two underscores are reserved for C++ implemenations,
i.e. the C++ compiler and the standard library.

Test: Rely on TreeHugger.
Change-Id: If6d80a63badb2f95f4cbcef946c10911c954419b

7 years agoMerge "Address review comments from change 000e1885701c8f."
Narayan Kamath [Thu, 3 Nov 2016 13:04:40 +0000 (13:04 +0000)]
Merge "Address review comments from change 000e1885701c8f."

7 years agoIntegrate VerifierDeps in compiler driver.
Nicolas Geoffray [Thu, 3 Nov 2016 10:52:49 +0000 (10:52 +0000)]
Integrate VerifierDeps in compiler driver.

If a VerifierDeps is given, try fast verify. Otherwise create
a new VerifierDeps and do the full verification.

test: test-art-host, verifier_deps_test
bug: 30937355
Change-Id: Ifb030d7b5232c95872164f601057a56ab96038e1

7 years agoMerge "ARM: VIXL32: Implement the functionality needed by intrinsics."
Roland Levillain [Thu, 3 Nov 2016 12:53:43 +0000 (12:53 +0000)]
Merge "ARM: VIXL32: Implement the functionality needed by intrinsics."

7 years agoMerge "Add print statements for "Unable to determine architecture"."
Nicolas Geoffray [Thu, 3 Nov 2016 11:29:16 +0000 (11:29 +0000)]
Merge "Add print statements for "Unable to determine architecture"."

7 years agoAdd print statements for "Unable to determine architecture".
Nicolas Geoffray [Thu, 3 Nov 2016 11:18:48 +0000 (11:18 +0000)]
Add print statements for "Unable to determine architecture".

test: test-art-host-run-test
Change-Id: Ifa57e1782450456622843e4fae15e230c0d19dea

7 years agoMerge "MIPS32: Improve and moderately clean up mterp."
Vladimir Marko [Thu, 3 Nov 2016 10:21:28 +0000 (10:21 +0000)]
Merge "MIPS32: Improve and moderately clean up mterp."

7 years agoMerge "New instruction simplifications. Extra dce pass. Allow more per block repeats."
Aart Bik [Thu, 3 Nov 2016 00:05:51 +0000 (00:05 +0000)]
Merge "New instruction simplifications. Extra dce pass. Allow more per block repeats."

7 years agoMerge "Call ClassExt::VisitRoots"
Alex Light [Thu, 3 Nov 2016 00:04:53 +0000 (00:04 +0000)]
Merge "Call ClassExt::VisitRoots"

7 years agoCall ClassExt::VisitRoots
Alex Light [Wed, 2 Nov 2016 23:32:07 +0000 (16:32 -0700)]
Call ClassExt::VisitRoots

We were missing this call.

Test: ART_DEFAULT_GC_TYPE=GSS mma test-art-host
Change-Id: I559a64b04dde514888e37a86fafc260e55196f95

7 years agoClean up the runtime read barrier and fix fake address dependency.
Hiroshi Yamauchi [Tue, 1 Nov 2016 18:55:29 +0000 (11:55 -0700)]
Clean up the runtime read barrier and fix fake address dependency.

- Rename GetReadBarrierPointer to GetReadBarrierState.
- Change its return type to uint32_t.
- Fix the runtime fake address dependency for arm/arm64 using inline
  asm.
- Drop ReadBarrier::black_ptr_ and some brooks code.

Bug: 12687968
Test: test-art with CC, Ritz EAAC, libartd boot on N9.
Change-Id: I595970db825db5be2e98ee1fcbd7696d5501af55

7 years agoMerge "Improved range analysis (and thus BCE) around min/max/abs intrinsics."
Aart Bik [Wed, 2 Nov 2016 21:56:35 +0000 (21:56 +0000)]
Merge "Improved range analysis (and thus BCE) around min/max/abs intrinsics."

7 years agoMerge "Add ClassExt mirror."
Treehugger Robot [Wed, 2 Nov 2016 21:46:34 +0000 (21:46 +0000)]
Merge "Add ClassExt mirror."

7 years agoNew instruction simplifications. Extra dce pass. Allow more per block repeats.
Aart Bik [Fri, 28 Oct 2016 22:03:53 +0000 (15:03 -0700)]
New instruction simplifications. Extra dce pass. Allow more per block repeats.

Rationale:
We were missing some obvious simplifications, which left performance
at the table for e.g. CaffeineLogic compiled with dx (4200us->2700us).
The constant for allowing a repeat on a BB seemed very low, at the
very least it should depend on the BB size.

Test: test-art-host

Change-Id: Ic234566e117593e12c936d556222e4cd4f928105

7 years agoCheck for forwarding address in READ_BARRIER_MARK_REG
Mathieu Chartier [Wed, 2 Nov 2016 03:13:24 +0000 (20:13 -0700)]
Check for forwarding address in READ_BARRIER_MARK_REG

When the object is in the from-space, the mark bit is not set.
In this case, we can also check the lock word for being a forwarding
address. The forwarding address case happens around 25% of the time.
This CL adds the case for forwarding address lock words to
READ_BARRIER_MARK_REG.

Reduces total read barriers reaching runtime on ritzperf:
Slow paths: 20758783 -> 15457783

Deleted the mark bit check in MarkFromReadBarrier since most of the
callers check the bit now.

Perf:
ReadBarrier::Mark: 2.59% -> 2.12%
art_quick_read_barrier_mark_reg01: 0.79% -> 0.78%
art_quick_read_barrier_mark_reg00: 0.54% -> 0.50%
art_quick_read_barrier_mark_reg02: 0.31% -> 0.25%

Only X86_64 for now, will do other archs after.

Bug: 30162165

Test: test-art-host

Change-Id: Ie7289d684d0e37a887943d77710092e380457860

7 years agoAdd ClassExt mirror.
Alex Light [Mon, 31 Oct 2016 18:12:30 +0000 (11:12 -0700)]
Add ClassExt mirror.

We add the ClassExt type to hold values in Class that are not always
needed without making the Class type larger. For the initial change we
move the verifyError field into this type. It is expected to grow as
time goes on.

Test: mma test-art-host

Change-Id: I1d97df2e1267203841ad47b2effcb66dd76ac12a

7 years agoMore store/allocation elimination.
Mingyao Yang [Tue, 1 Nov 2016 20:31:58 +0000 (13:31 -0700)]
More store/allocation elimination.

When merging values of an unreturned singleton's location,
do more analysis on the singleton's liveness since the singleton
may not be live in some of the predecessors. And only those
predecessors where the singleton is live should participate in
merging the value of the location.

Test: make test-art-host
Bug: 31716107

Change-Id: I1bf61a84d3473646eb38fd9924bbb063cf664f7f

7 years agoImproved range analysis (and thus BCE) around min/max/abs intrinsics.
Aart Bik [Mon, 31 Oct 2016 18:02:50 +0000 (11:02 -0700)]
Improved range analysis (and thus BCE) around min/max/abs intrinsics.

Rationale:
Inspection of some typical bit set utilities revealed that we
were missing obvious cases where two or more array lengths
were combined using a min.

Change-Id: I3e6463f221c793aaa1d592d4caabef0511754ae9
Test: test-art-host-run-test-620-checker-bce-intrinsics

7 years agoAddress review comments from change 000e1885701c8f.
Narayan Kamath [Wed, 2 Nov 2016 12:01:26 +0000 (12:01 +0000)]
Address review comments from change 000e1885701c8f.

Style fixes, and better OOM handling.

bug: 30550796
Test: make test-art-host
Change-Id: I2ab58e25bd08daace6609ba45d860994a354280f

7 years agoARM: VIXL32: Implement intrinsics.
Anton Kirilov [Thu, 13 Oct 2016 19:16:02 +0000 (20:16 +0100)]
ARM: VIXL32: Implement intrinsics.

Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target
Change-Id: I64397a0c4fd40fd7cd0049929fcce98b935d0372

7 years agoARM: VIXL32: Implement the functionality needed by intrinsics.
Anton Kirilov [Tue, 25 Oct 2016 17:17:23 +0000 (18:17 +0100)]
ARM: VIXL32: Implement the functionality needed by intrinsics.

This patch passes:
* 004-UnsafeTest

Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target
Change-Id: I7a3cd410411ef3a520d419734a835090097b2aee

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 agoMIPS32: Improve and moderately clean up mterp.
Alexey Frunze [Sat, 22 Oct 2016 02:54:43 +0000 (19:54 -0700)]
MIPS32: Improve and moderately clean up mterp.

Improvements:
- use seb, seh, ins on R2+
- use lsa, trunc.l.(s|d), cvt.(s|d).l, jic on R6
- shorter float/double comparison
- shorter float/double to int/long conversion
- fewer memory reads in float/double to int/long conversion
- remove unnecessary %break's and branches across breaks
- use branch delay slots more efficiently on R2

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

Change-Id: I9959bec08e20c2423deae31f71b523ad36b4be9a

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