OSDN Git Service

android-x86/art.git
7 years agoMerge "ART: Refactor class-linker methods"
Treehugger Robot [Wed, 26 Oct 2016 00:21:33 +0000 (00:21 +0000)]
Merge "ART: Refactor class-linker methods"

7 years agoMerge "ART: Initialize field in IndirectReferenceTable"
Treehugger Robot [Tue, 25 Oct 2016 21:38:53 +0000 (21:38 +0000)]
Merge "ART: Initialize field in IndirectReferenceTable"

7 years agoMerge "Fix race with LOS Begin() and End()"
Mathieu Chartier [Tue, 25 Oct 2016 21:28:53 +0000 (21:28 +0000)]
Merge "Fix race with LOS Begin() and End()"

7 years agoMerge "Enable agent attaching during live phase"
Leonard Mosescu [Tue, 25 Oct 2016 19:49:26 +0000 (19:49 +0000)]
Merge "Enable agent attaching during live phase"

7 years agoEnable agent attaching during live phase
Leonard Mosescu [Fri, 7 Oct 2016 00:26:36 +0000 (17:26 -0700)]
Enable agent attaching during live phase

This is the ART part, the plumbing from VMDebug_attachAgent() to
actually loading the agent into the runtime.

Test: m test-art-host

Bug: 31682382

Change-Id: I3ccc67aa050c1f78278882128983686ed44ddec2

7 years agoMerge "Revert "ART: Temporarily use global references for GetLoadedClasses""
Treehugger Robot [Tue, 25 Oct 2016 19:03:11 +0000 (19:03 +0000)]
Merge "Revert "ART: Temporarily use global references for GetLoadedClasses""

7 years agoART: Initialize field in IndirectReferenceTable
Andreas Gampe [Tue, 25 Oct 2016 19:01:48 +0000 (12:01 -0700)]
ART: Initialize field in IndirectReferenceTable

Initialize last known previous segment state.

Bug: 32125344
Test: m test-art-host
Test: m valgrind-test-art-host
Change-Id: I894f467a9f1dae8de55c1e113f0b00a127b13f33

7 years agoFix race with LOS Begin() and End()
Mathieu Chartier [Tue, 25 Oct 2016 17:45:08 +0000 (10:45 -0700)]
Fix race with LOS Begin() and End()

There was a race for the first large object allocation that cause
callers of Begin() and End() to see a null End() and non-null
Begin(). The fix is to hold the lock and get both Begin() and End().

Bug: 32387879

Test: test-art-host CC

Change-Id: I6173bf3a55d3ba017ffa5b5e9f566025c65b7555

7 years agoART: Refactor class-linker methods
Andreas Gampe [Tue, 2 Dec 2014 23:43:52 +0000 (15:43 -0800)]
ART: Refactor class-linker methods

Hide the LookupClass with hash version. Clients should not have to
know about that performance detail.

Hide FindClassInPathClassLoader. This is an implementation detail.

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

7 years agoMerge "Clear (madvise) card table for CC"
Mathieu Chartier [Tue, 25 Oct 2016 17:36:53 +0000 (17:36 +0000)]
Merge "Clear (madvise) card table for CC"

7 years agoRevert "ART: Temporarily use global references for GetLoadedClasses"
Andreas Gampe [Tue, 25 Oct 2016 16:55:53 +0000 (09:55 -0700)]
Revert "ART: Temporarily use global references for GetLoadedClasses"

This reverts commit d2d0353de9e5c10f2a4a9ff2102d2b777c134a37.

The IndirectReferenceTable now allows resizing for local references.

Bug: 31684578
Bug: 32125344
Test: m test-art-host
Change-Id: I47dab19eb7ae66fc7d55d202a13a87f508c35e03

7 years agoMerge "Remove workaround for repo."
Treehugger Robot [Tue, 25 Oct 2016 16:53:55 +0000 (16:53 +0000)]
Merge "Remove workaround for repo."

7 years agoMerge "Let dexdump prompt filename for zipped multi-dex files."
Aart Bik [Tue, 25 Oct 2016 15:56:10 +0000 (15:56 +0000)]
Merge "Let dexdump prompt filename for zipped multi-dex files."

7 years agoMerge "Fix the Thumb-2 definition of the CLREX instruction."
Roland Levillain [Tue, 25 Oct 2016 15:45:43 +0000 (15:45 +0000)]
Merge "Fix the Thumb-2 definition of the CLREX instruction."

7 years agoMerge changes Iae3a933e,I08ff5d6e
Andreas Gampe [Tue, 25 Oct 2016 15:18:14 +0000 (15:18 +0000)]
Merge changes Iae3a933e,I08ff5d6e

* changes:
  ART: Make IndirectReferenceTable resizable
  ART: Change IndirectReferenceTable

7 years agoMerge "ART: Clean up IndirectReferenceTable"
Andreas Gampe [Tue, 25 Oct 2016 15:16:31 +0000 (15:16 +0000)]
Merge "ART: Clean up IndirectReferenceTable"

7 years agoMerge "Clean up app image .bss dex cache arrays fixup."
Vladimir Marko [Tue, 25 Oct 2016 14:51:57 +0000 (14:51 +0000)]
Merge "Clean up app image .bss dex cache arrays fixup."

7 years agoFix the Thumb-2 definition of the CLREX instruction.
Roland Levillain [Mon, 24 Oct 2016 15:31:16 +0000 (16:31 +0100)]
Fix the Thumb-2 definition of the CLREX instruction.

Test: make test-art-host-gtest-assembler_thumb2_test
Change-Id: I433fa35451aa944e300d5d582dc16b2b9a8bcfb3

7 years agoMerge "Build target which faciliates ART testing image/image creation"
Calin Juravle [Tue, 25 Oct 2016 14:36:15 +0000 (14:36 +0000)]
Merge "Build target which faciliates ART testing image/image creation"

7 years agoMerge "Clear OOME from DexCache allocation when another thread succeeded."
Vladimir Marko [Tue, 25 Oct 2016 14:07:31 +0000 (14:07 +0000)]
Merge "Clear OOME from DexCache allocation when another thread succeeded."

7 years agoBuild target which faciliates ART testing image/image creation
Calin Juravle [Mon, 24 Oct 2016 11:40:19 +0000 (12:40 +0100)]
Build target which faciliates ART testing image/image creation

Bug: 32365426

Test: m art-job-images
Change-Id: I19f74b7880e8b88c20fcd26729ec05a48b618dbb

7 years agoMerge "Revert "Disable kBssEntry LoadString sharpening.""
Vladimir Marko [Tue, 25 Oct 2016 12:32:27 +0000 (12:32 +0000)]
Merge "Revert "Disable kBssEntry LoadString sharpening.""

7 years agoClean up app image .bss dex cache arrays fixup.
Vladimir Marko [Tue, 25 Oct 2016 10:51:35 +0000 (11:51 +0100)]
Clean up app image .bss dex cache arrays fixup.

Do not store type and method array forwarding address
in old arrays. They are available from the DexCache.

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

7 years agoClear OOME from DexCache allocation when another thread succeeded.
Vladimir Marko [Tue, 25 Oct 2016 12:04:00 +0000 (13:04 +0100)]
Clear OOME from DexCache allocation when another thread succeeded.

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

7 years agoMerge "method_handles: Minor refactor of PerformArgumentConversions."
Narayan Kamath [Tue, 25 Oct 2016 11:36:16 +0000 (11:36 +0000)]
Merge "method_handles: Minor refactor of PerformArgumentConversions."

7 years agoRemove workaround for repo.
Nicolas Geoffray [Tue, 25 Oct 2016 11:00:19 +0000 (12:00 +0100)]
Remove workaround for repo.

The chromium buildbots do not have the issue anymore.

Change-Id: I9f9cf4505dda027fb23883f3f4b311d213b15199

7 years agoRevert "Disable kBssEntry LoadString sharpening."
Vladimir Marko [Mon, 24 Oct 2016 16:53:39 +0000 (16:53 +0000)]
Revert "Disable kBssEntry LoadString sharpening."

Fix .bss GC root walking by registering the oat file
with the class loader's class table.

Also fix potentially outdated ObjPtr<> use in debug build.

This reverts commit b55fdbb30b3bc4e334c241153b98c0a6ea4a4a2b.

Test: m test-art-host
Bug: 32124939
Change-Id: I0b7e3b93cb53c7b22408aa10a04eaf5582c69ee8

7 years agoMerge "Encode quickening info in .vdex."
Nicolas Geoffray [Tue, 25 Oct 2016 07:27:07 +0000 (07:27 +0000)]
Merge "Encode quickening info in .vdex."

7 years agoART: Make IndirectReferenceTable resizable
Andreas Gampe [Tue, 25 Oct 2016 02:35:19 +0000 (19:35 -0700)]
ART: Make IndirectReferenceTable resizable

Allow backing table to be resized. This can be used for the local
reference table, where synchronization is not an issue.

Bug: 32125344
Test: m test-art-host
Change-Id: Iae3a933e330026231b17fdde44bcdd99c235dff1

7 years agoClear (madvise) card table for CC
Mathieu Chartier [Mon, 24 Oct 2016 22:45:41 +0000 (15:45 -0700)]
Clear (madvise) card table for CC

Since the cards are not really used, we can madvise them to reduce
RAM. Image and zygote cards are cleared in pause to prevent races
between with mutators.

Pause time goes up by only 1.5us on N6P maps:
(Paused)ClearCards: Sum: 755us 99% C.I. 0.250us-28us Avg: 1.540us Max: 28us

AOSP N6P before (60s after boot system wide CC):
4,194K: .GC
4,172K: .GC
4,110K: .GC

After:
3,253K: .GC
3,205K: .GC
3,245K: .GC

Bug: 12687968

Test: test-art-host

Change-Id: I3194b5b8044c2dca427302c32d9974920fecb289

7 years agoART: Change IndirectReferenceTable
Andreas Gampe [Fri, 14 Oct 2016 00:12:56 +0000 (17:12 -0700)]
ART: Change IndirectReferenceTable

Change cookie structure to allow for more entries. Use a local
hole-count caching scheme. The design is driven by two
considerations. For one, the change is small and mostly local.
The other point is to still allow inlining of functions involved
with JNI transitions.

This change is in preparation for a resizable backing table for
"unlimite" local references.

micro_native tests show changes are in the noise.

Bug: 32125344
Test: m test-art-host
Change-Id: I08ff5d6eaed75d13ec88f469fb0d18328a0eeb70

7 years agoART: Clean up IndirectReferenceTable
Andreas Gampe [Mon, 24 Oct 2016 20:19:37 +0000 (13:19 -0700)]
ART: Clean up IndirectReferenceTable

Introduce constants and move some functions into the
IndirectReferenceTable class.

Slightly change IndirectRef encoding to be more obvious (and slighly
more optimized when decoding).

Bug: 32125344
Test: m test-art-host
Change-Id: I05819eccb733b611de582fb8d7151f1a110c305a

7 years agoLet dexdump prompt filename for zipped multi-dex files.
Aart Bik [Mon, 24 Oct 2016 23:07:59 +0000 (16:07 -0700)]
Let dexdump prompt filename for zipped multi-dex files.

Test: test-art-host-dexdump test-art-host-gtest-dexdump_test

Bug:32365197
Change-Id: I25a274da93cd3317fd5b18ad578ac4dcad1b83a1

7 years agoMerge "ART: Blacklist test 908 for target"
Andreas Gampe [Mon, 24 Oct 2016 23:14:47 +0000 (23:14 +0000)]
Merge "ART: Blacklist test 908 for target"

7 years agoART: Blacklist test 908 for target
Andreas Gampe [Mon, 24 Oct 2016 22:50:49 +0000 (15:50 -0700)]
ART: Blacklist test 908 for target

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

Bug: 31684633
Test: m test-art-host-run-test-908-gc-start-finish
Change-Id: I0c246f7af7942ae098dc1d6829b34562ec4222e5

7 years agoMerge "ART: Add GC callbacks"
Treehugger Robot [Mon, 24 Oct 2016 22:36:18 +0000 (22:36 +0000)]
Merge "ART: Add GC callbacks"

7 years agoMerge "ART: Only scan tag table once during marking"
Treehugger Robot [Mon, 24 Oct 2016 22:34:47 +0000 (22:34 +0000)]
Merge "ART: Only scan tag table once during marking"

7 years agoART: Add GC callbacks
Andreas Gampe [Fri, 21 Oct 2016 22:27:46 +0000 (15:27 -0700)]
ART: Add GC callbacks

Add start and end of pause callbacks.

Fix setup and missing functions in test 907.

Bug: 31684633
Test: m test-art-host
Test: m test-art-host-run-test-908-gc-start-finish
Change-Id: I1d8872ef9cd6914de7fb033cd873f8d5cb48ea17

7 years agoMerge "Remove unnecessary load class for new instance"
Mathieu Chartier [Mon, 24 Oct 2016 19:36:50 +0000 (19:36 +0000)]
Merge "Remove unnecessary load class for new instance"

7 years agoEncode quickening info in .vdex.
Nicolas Geoffray [Mon, 24 Oct 2016 12:14:58 +0000 (13:14 +0100)]
Encode quickening info in .vdex.

We quicken vdex files for performance reasons, but when taking an OTA,
we need to revert the quickening to the original instructions. As vdex
should be independent of the oat file and oat file versions, we encode
the quickening data in the vdex.

test: m test-art-host-jit m test-art-host-gtest
bug:30937355

Change-Id: I9a543a161b70aa1cff99f8fe6f5b5cab7a6c4d31

7 years agoMerge "Move dex CFG dumping out of utils.cc"
Treehugger Robot [Mon, 24 Oct 2016 18:46:30 +0000 (18:46 +0000)]
Merge "Move dex CFG dumping out of utils.cc"

7 years agoART: Only scan tag table once during marking
Andreas Gampe [Fri, 21 Oct 2016 19:32:31 +0000 (12:32 -0700)]
ART: Only scan tag table once during marking

Remember an update and avoid multiple scans during the marking
phase.

Bug: 31385027
Test: m test-art-host
Test: m ART_USE_READ_BARRIER=true test-art-host
Change-Id: I82211938965fd32a6d6c2dbf58bf7be2fc688c46

7 years agoRemove unnecessary load class for new instance
Mathieu Chartier [Tue, 30 Aug 2016 17:23:01 +0000 (10:23 -0700)]
Remove unnecessary load class for new instance

Remove the load class for new instance if the load class has only one
use and can not throw. Previously many were not removed due to
MarkInDexCache nulling out the environment of the HLoadClass and
causing CanMoveClinitCheck to fail.

Also keep track of initialized HLoadClass and always remove clinit
checks for these.

Added checker regression test.

Code size savings: ARM64 CC boot.oat: 47896936 -> 47642488 (-0.53%)
Savings from IsInitialized optimization: 65984 bytes

Performance unmeasured, probably faster due to removing unnecessary
work.

Test: test-art-host with CC baker

Bug: 29516974

Change-Id: I43358762ffb380ebe7e6518d0d440a5e1cc03b61

7 years agoMove dex CFG dumping out of utils.cc
David Sehr [Thu, 20 Oct 2016 23:27:02 +0000 (16:27 -0700)]
Move dex CFG dumping out of utils.cc

Move CFG dumping to dexdump, the only client.

Bug: 22322814
Test: test-art-host
Change-Id: I0f39f1d5dfc446419d26d709b78d04e45616f42c

7 years agoMerge "Dex disassembly suppport for invoke-polymorphic."
Orion Hodson [Mon, 24 Oct 2016 11:48:17 +0000 (11:48 +0000)]
Merge "Dex disassembly suppport for invoke-polymorphic."

7 years agomethod_handles: Minor refactor of PerformArgumentConversions.
Narayan Kamath [Thu, 20 Oct 2016 17:39:22 +0000 (18:39 +0100)]
method_handles: Minor refactor of PerformArgumentConversions.

Separate out a method that can perform a single argument conversion.
Useful for Field setters and also for future use in transforming handles
where the input source will not be a stack frame.

Also remove unnecessary JValue* argument.

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

7 years agoMerge "Add support for proguard deobfuscation."
Treehugger Robot [Mon, 24 Oct 2016 07:20:23 +0000 (07:20 +0000)]
Merge "Add support for proguard deobfuscation."

7 years agoMerge "ART: Switch tagging table to a map"
Treehugger Robot [Sat, 22 Oct 2016 17:09:44 +0000 (17:09 +0000)]
Merge "ART: Switch tagging table to a map"

7 years agoMerge "Remove read barrier in UnstartedUnsafeCompareAndSwapLong."
Roland Levillain [Sat, 22 Oct 2016 13:25:43 +0000 (13:25 +0000)]
Merge "Remove read barrier in UnstartedUnsafeCompareAndSwapLong."

7 years agoART: Switch tagging table to a map
Andreas Gampe [Fri, 21 Oct 2016 02:03:58 +0000 (19:03 -0700)]
ART: Switch tagging table to a map

Performance is critical. A map involves overhead for moving GC,
but has much faster lookup for the common case.

Make test 905 robust against unstable ordering.

Bug: 31385027
Test: m test-art-host
Test: m ART_USE_READ_BARRIER=true test-art-host
Change-Id: Ica3ff603fc78168759fccfe79c97860279ce9036

7 years agoMerge "Reduce the number of dumps in 130-hprof."
Treehugger Robot [Fri, 21 Oct 2016 21:58:20 +0000 (21:58 +0000)]
Merge "Reduce the number of dumps in 130-hprof."

7 years agoReduce the number of dumps in 130-hprof.
Hiroshi Yamauchi [Fri, 21 Oct 2016 20:07:18 +0000 (13:07 -0700)]
Reduce the number of dumps in 130-hprof.

To avoid timeouts.

Test: test-art-host with ART_TEST_TRACE=true.
Change-Id: I849007b94341f4851c11a8896889f9e2ce851a86

7 years agoMerge "Add missing shared library"
Treehugger Robot [Fri, 21 Oct 2016 19:42:55 +0000 (19:42 +0000)]
Merge "Add missing shared library"

7 years agoAdd missing shared library
Colin Cross [Fri, 21 Oct 2016 17:50:31 +0000 (10:50 -0700)]
Add missing shared library

Host builds were compiling without -Wl,--no-undefined.  Add missing
shared library so that -Wl,--no-undefined can be added again.

Test: m -j host
Bug: 32305815
Change-Id: I39456a95c37b64b6ac65c0b3220d4816ce34e5c6

7 years agoMerge "Don't dump loaded but unresolved classes in hprof"
Mathieu Chartier [Fri, 21 Oct 2016 16:38:18 +0000 (16:38 +0000)]
Merge "Don't dump loaded but unresolved classes in hprof"

7 years agoMerge "Remove mutex dependency on art::Runtime"
David Sehr [Fri, 21 Oct 2016 15:30:22 +0000 (15:30 +0000)]
Merge "Remove mutex dependency on art::Runtime"

7 years agoAdd support for proguard deobfuscation.
Richard Uhler [Fri, 13 May 2016 21:19:37 +0000 (14:19 -0700)]
Add support for proguard deobfuscation.

Test: m ahat-test, with obfuscation of test-dump.hprof added.
Bug: 25812772
Change-Id: I0f257432da570aa146e6bb5c549f014aecc0c326

7 years agoRemove read barrier in UnstartedUnsafeCompareAndSwapLong.
Roland Levillain [Fri, 21 Oct 2016 13:47:26 +0000 (14:47 +0100)]
Remove read barrier in UnstartedUnsafeCompareAndSwapLong.

art::interpreter::UnstartedRuntime::UnstartedUnsafeCompareAndSwapLong
manipulates a long field and does not need a read barrier
(read barriers are only required when loading an object
reference from the heap).

Test: ART_USE_READ_BARRIER=true make test-art-host
Bug: 12687968
Change-Id: Ia46590e649a7bb46ca4b3c90bab03fb3a836563d

7 years agoMerge "Disable kBssEntry LoadString sharpening."
Vladimir Marko [Fri, 21 Oct 2016 12:27:16 +0000 (12:27 +0000)]
Merge "Disable kBssEntry LoadString sharpening."

7 years agoMerge "MIPS32: Implement HSelect"
Treehugger Robot [Fri, 21 Oct 2016 12:26:18 +0000 (12:26 +0000)]
Merge "MIPS32: Implement HSelect"

7 years agoMerge "MIPS32R6: Fix floating point compares in mterp."
Treehugger Robot [Fri, 21 Oct 2016 10:33:58 +0000 (10:33 +0000)]
Merge "MIPS32R6: Fix floating point compares in mterp."

7 years agoDisable kBssEntry LoadString sharpening.
Vladimir Marko [Fri, 21 Oct 2016 09:22:45 +0000 (10:22 +0100)]
Disable kBssEntry LoadString sharpening.

We seem to fail to visit the BSS GC roots sometimes.

Bug: 32124939
Test: m test-art-host
Change-Id: I4724ced649042cbeb170cac9e8da8c5db168c8fc

7 years agoMIPS32R6: Fix floating point compares in mterp.
Alexey Frunze [Fri, 21 Oct 2016 04:50:05 +0000 (21:50 -0700)]
MIPS32R6: Fix floating point compares in mterp.

This fixes failures in the following tests:
003-omnibus-opcodes
082-inline-execute
083-compiler-regressions
107-int-math2
422-type-conversion
570-checker-select

Test: 'run-test --interpreter <tests above>'
      in QEMU for MIPS64R6/MIPS32R6

Change-Id: I11b4f1df7c212932c92d41fbc98c00465d03e850

7 years agoDon't dump loaded but unresolved classes in hprof
Mathieu Chartier [Fri, 21 Oct 2016 00:11:23 +0000 (17:11 -0700)]
Don't dump loaded but unresolved classes in hprof

If a class is loaded but not yet resolved, it will cause failed
DCHECK when reading static fields.

Bug: 32008990

Test: test/run-test --host 130

Change-Id: I05f549cb2b70c75b06ed23d3405373d15ad7707b

7 years agoMerge "Improve recognition of select-based period induction."
Treehugger Robot [Thu, 20 Oct 2016 22:50:12 +0000 (22:50 +0000)]
Merge "Improve recognition of select-based period induction."

7 years agoMIPS32: Implement HSelect
Alexey Frunze [Tue, 20 Sep 2016 21:54:15 +0000 (14:54 -0700)]
MIPS32: Implement HSelect

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

Change-Id: I8a8127d8d29cb5df84ed6f4fd4478f8d889e5cb7

7 years agoImprove recognition of select-based period induction.
Aart Bik [Tue, 18 Oct 2016 20:03:31 +0000 (13:03 -0700)]
Improve recognition of select-based period induction.

Rationale:
Similar to the previous CL, this helps to eliminate more dead induction.
Now, CaffeineLogic, when compiled with dx (rather than jack) improves
by a 1.5 speedup (9000us -> 6000us).

Note:
We need to run the simplifier before induction analysis to trigger
the select simplification first. Although a bit of a compile-time hit,
it seems a good idea to run a simplifier here again anyway.

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

7 years agoMerge "Test for the CC RegionSpace::WalkInternal crash."
Hiroshi Yamauchi [Thu, 20 Oct 2016 21:10:57 +0000 (21:10 +0000)]
Merge "Test for the CC RegionSpace::WalkInternal crash."

7 years agoRemove mutex dependency on art::Runtime
David Sehr [Wed, 19 Oct 2016 20:20:45 +0000 (13:20 -0700)]
Remove mutex dependency on art::Runtime

Breaks the cyclic dependency between mutex and the runtime.  This allows
the use of mutexes without instantiating a runtime.

Bug: 22322814
Test: test-art
Change-Id: Ia642e515937068d385e5bb1e10bbd3e50a6e36d2

7 years agoMerge "Ensure that overrides work in presence of package-private methods."
Treehugger Robot [Thu, 20 Oct 2016 18:50:24 +0000 (18:50 +0000)]
Merge "Ensure that overrides work in presence of package-private methods."

7 years agoDex disassembly suppport for invoke-polymorphic.
Orion Hodson [Tue, 18 Oct 2016 16:02:58 +0000 (17:02 +0100)]
Dex disassembly suppport for invoke-polymorphic.

Bug:  30550796
Test: art/test/dexdump/run-all-tests
Change-Id: I013ce2ebbcf9555e01170dc47fc38036c276b1b4

7 years agoMerge "Disable 151-OpenFileLimit test."
Richard Uhler [Thu, 20 Oct 2016 14:57:15 +0000 (14:57 +0000)]
Merge "Disable 151-OpenFileLimit test."

7 years agoDisable 151-OpenFileLimit test.
Richard Uhler [Thu, 20 Oct 2016 14:41:21 +0000 (15:41 +0100)]
Disable 151-OpenFileLimit test.

Until we can track down all the crashes it leads to.

Bug: 32302133
Test: mma -j32 ART_TEST_JIT=true ART_TEST_INTERPRETER=true test-art-host-run-test-151-OpenFileLimit
Change-Id: I515a5175b4cefe49a8e270d354879050b1f616f9

7 years agoMerge changes I16f8b7ec,I075bbf55
Igor Murashkin [Thu, 20 Oct 2016 14:41:18 +0000 (14:41 +0000)]
Merge changes I16f8b7ec,I075bbf55

* changes:
  jni: Support @FastNative methods that return objects
  Revert "jni: Disable FastNative path for methods returning objects"

7 years agoMerge "Revert "Revert "Interpreter: Add support for direct handle invokes on methods."""
Narayan Kamath [Thu, 20 Oct 2016 14:39:10 +0000 (14:39 +0000)]
Merge "Revert "Revert "Interpreter: Add support for direct handle invokes on methods."""

7 years agoMerge "ARM: VIXL32: Pass initial ART tests with new code generator."
Roland Levillain [Thu, 20 Oct 2016 11:59:42 +0000 (11:59 +0000)]
Merge "ARM: VIXL32: Pass initial ART tests with new code generator."

7 years agoMerge "DexCache: Add support for updating MethodType references during GC."
Treehugger Robot [Thu, 20 Oct 2016 11:59:27 +0000 (11:59 +0000)]
Merge "DexCache: Add support for updating MethodType references during GC."

7 years agoMerge "Return error message if IndirectReferenceTable construction fails."
Treehugger Robot [Thu, 20 Oct 2016 11:45:05 +0000 (11:45 +0000)]
Merge "Return error message if IndirectReferenceTable construction fails."

7 years agoRevert "Revert "Interpreter: Add support for direct handle invokes on methods.""
Narayan Kamath [Thu, 20 Oct 2016 09:57:45 +0000 (10:57 +0100)]
Revert "Revert "Interpreter: Add support for direct handle invokes on methods.""

This reverts commit cfa61ad52077df66a448b84c360b12bc6f0e3f51.

Test flakiness in 956-methodhandles is fixed by
d08e39b6f02368aaa668b5aae6b6077b3eb44d9c.

Test: make test-art-host

Change-Id: I56e02e9a5bbc2b992cf746a92fd95ea77d32456c

7 years agoDexCache: Add support for updating MethodType references during GC.
Narayan Kamath [Wed, 19 Oct 2016 13:16:35 +0000 (14:16 +0100)]
DexCache: Add support for updating MethodType references during GC.

Fixes flakiness in 956-methodhandles

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

7 years agoMerge "Change pResolveString entrypoint to kSaveEverything."
Vladimir Marko [Thu, 20 Oct 2016 09:24:03 +0000 (09:24 +0000)]
Merge "Change pResolveString entrypoint to kSaveEverything."

7 years agoMerge "Build: Avoid using ppid to generate temporary directory name."
Narayan Kamath [Thu, 20 Oct 2016 07:49:22 +0000 (07:49 +0000)]
Merge "Build: Avoid using ppid to generate temporary directory name."

7 years agoMerge "ART: Harden dex-file verifier wrt/ LEB128"
Treehugger Robot [Thu, 20 Oct 2016 03:26:21 +0000 (03:26 +0000)]
Merge "ART: Harden dex-file verifier wrt/ LEB128"

7 years agoMerge "Persistent bitmap for region space"
Mathieu Chartier [Thu, 20 Oct 2016 00:25:39 +0000 (00:25 +0000)]
Merge "Persistent bitmap for region space"

7 years agoART: Harden dex-file verifier wrt/ LEB128
Andreas Gampe [Sat, 3 Sep 2016 01:12:00 +0000 (18:12 -0700)]
ART: Harden dex-file verifier wrt/ LEB128

Use out-of-bounds checks when decoding (U)LEB128.

Bug: 31252966
Test: m test-art-host
Change-Id: Id6dbbceb37c4d8d698e7685c61bf31912e3bf69e

7 years agoEnsure that overrides work in presence of package-private methods.
Alex Light [Tue, 18 Oct 2016 21:33:18 +0000 (14:33 -0700)]
Ensure that overrides work in presence of package-private methods.

It was possible that methods with the same signature & name of
package-private methods could fail to be correctly overridden causing
surprising behavior and DCHECK failures.

Bug: 32193118
Test: mma test-art-host
Test: ART_TEST_RUN_TEST_NDEBUG=true ART_TEST_RUN_TEST_NO_PREBUILD=true mma test-art-host-run-test-300-package-override
Change-Id: I8f53a830cd8d4210f60e9827e525c779a0696e04

7 years agoPersistent bitmap for region space
Mathieu Chartier [Fri, 7 Oct 2016 22:24:46 +0000 (15:24 -0700)]
Persistent bitmap for region space

Fix bug where region space was not safely walkable due to holes
in the unevac regions possibly having dangling class pointers.

No preformance change, RAM overhead 1.1-1.2% .Heap (non LOS).

Test: test-art-host
Test: https://android-review.googlesource.com/#/c/288907/

Bug: 31522820

Change-Id: Ic4f8b7175e117689cb1ce3e28b082cf63f1f7b5a

7 years agoMerge "Move most of class linker to ObjPtr"
Mathieu Chartier [Wed, 19 Oct 2016 19:35:54 +0000 (19:35 +0000)]
Merge "Move most of class linker to ObjPtr"

7 years agoMerge "Fix bug in dynamic BCE. With regression test."
Treehugger Robot [Wed, 19 Oct 2016 18:53:06 +0000 (18:53 +0000)]
Merge "Fix bug in dynamic BCE. With regression test."

7 years agojni: Support @FastNative methods that return objects
Igor Murashkin [Thu, 13 Oct 2016 00:44:50 +0000 (17:44 -0700)]
jni: Support @FastNative methods that return objects

Bug: 32088975
Change-Id: I16f8b7ec6b251812af60ab25f2153d9b72f37044

7 years agoRevert "jni: Disable FastNative path for methods returning objects"
Igor Murashkin [Thu, 13 Oct 2016 15:12:20 +0000 (15:12 +0000)]
Revert "jni: Disable FastNative path for methods returning objects"

This reverts commit 6f029d9cfae142f318e3986331b04695f3ea524a.

Change-Id: I075bbf55a07565118b8fa529a397bb42490e6e51

7 years agoFix bug in dynamic BCE. With regression test.
Aart Bik [Tue, 18 Oct 2016 18:35:22 +0000 (11:35 -0700)]
Fix bug in dynamic BCE. With regression test.

Rationale:
We implicitly assumed anything on a fixed offset to a suitable
candidate could be picked for codegen. Although this is usually
true, the scanner found an exception (on types). So, it is best
to make the test explicit. Note: some type implications are TBD.

Bug:32193474

Test: test-art-host and offending APKs
Change-Id: I664a2caa97a7f231509f8832b940dd72da11a372

7 years agoMove most of class linker to ObjPtr
Mathieu Chartier [Tue, 18 Oct 2016 23:27:40 +0000 (16:27 -0700)]
Move most of class linker to ObjPtr

Return values are still mirror pointer. Fix some failing asserts in
compiler driver and tests.

Bug: 31113334

Test: test-art-host

Change-Id: I4450bf9dfb2541749496b8388616e8aae8488919

7 years agoChange pResolveString entrypoint to kSaveEverything.
Vladimir Marko [Fri, 30 Sep 2016 13:50:51 +0000 (14:50 +0100)]
Change pResolveString entrypoint to kSaveEverything.

Test: Run ART test suite including gcstress on host and Nexus 9.
Test: Run ART test suite including gcstress with baker CC on host and Nexus 9.
Bug: 20323084
Change-Id: I63c21a7d3be8ff7a5765b5003c85b5317635efe6

7 years agoMerge "Delete unused blocked_register_pairs_ in code generators"
Mathieu Chartier [Wed, 19 Oct 2016 17:01:02 +0000 (17:01 +0000)]
Merge "Delete unused blocked_register_pairs_ in code generators"

7 years agoMerge "Remove mirror:: and ArtMethod deps in utils.{h,cc}"
David Sehr [Wed, 19 Oct 2016 16:18:50 +0000 (16:18 +0000)]
Merge "Remove mirror:: and ArtMethod deps in utils.{h,cc}"

7 years agoReturn error message if IndirectReferenceTable construction fails.
Richard Uhler [Tue, 11 Oct 2016 14:06:38 +0000 (15:06 +0100)]
Return error message if IndirectReferenceTable construction fails.

Previously if there was an error when constructing the
IndirectReferenceTable, the error message was lost. Now expose and
include the error message when throwing an exception related to
failures to construct the IndirectReferenceTable.

The error message is propagated through JVMEnvExt, JavaVMExt, and
Runtime::Init as well.

Bug: 32013594
Test: Added new 151-OpenFileLimit runtest.
Test: m test-art-host, m test-art-target

Change-Id: I3692f6928c9570358571bce634569d6f14cdeb05

7 years agoMerge "Revert "Interpreter: Add support for direct handle invokes on methods.""
Treehugger Robot [Wed, 19 Oct 2016 14:55:34 +0000 (14:55 +0000)]
Merge "Revert "Interpreter: Add support for direct handle invokes on methods.""

7 years agoBuild: Avoid using ppid to generate temporary directory name.
Narayan Kamath [Wed, 19 Oct 2016 10:05:04 +0000 (11:05 +0100)]
Build: Avoid using ppid to generate temporary directory name.

When TMPDIR is left unset, use the BSD checksum of
$(ANDROID_BUILD_TOP)-$(USER) instead of the PPID to construct a root
directory for all test runs. This workaround lets us run tests from
multiple repos at the same time, and will also avoid having to deal
with path length issues on the build bots.

This is a hacky workaround, but the only proper fix is stop using a
test runner built on top of make.

Bug: 32165422
Test: test-art-host

Change-Id: I61bc1eb3cf57d498f910573926d826a36020067a

7 years agoRevert "Interpreter: Add support for direct handle invokes on methods."
Narayan Kamath [Wed, 19 Oct 2016 13:21:59 +0000 (13:21 +0000)]
Revert "Interpreter: Add support for direct handle invokes on methods."

This reverts commit e5cd2cd7d0f8e1332f25edfd2798d84fec871f10.

Reverting due to flakiness in 956-methodhandles. Flakiness will be
fixed by 67f0929710a4489e3603383e57c9d236920654aa but might take time
to submit.

Change-Id: Ifdda5d3caca62d16d21cefaab7742fb2e8ca6969