OSDN Git Service

android-x86/art.git
7 years agoMerge changes If234ff55,I2d83fc46,I5ad78a15
Alex Light [Fri, 21 Apr 2017 00:54:32 +0000 (00:54 +0000)]
Merge changes If234ff55,I2d83fc46,I5ad78a15
am: bdbc63b892

Change-Id: Ibeb3ccf9a0d902206b7f5e979eb48df572ec259f

7 years agoMerge changes If234ff55,I2d83fc46,I5ad78a15
Treehugger Robot [Fri, 21 Apr 2017 00:49:23 +0000 (00:49 +0000)]
Merge changes If234ff55,I2d83fc46,I5ad78a15

* changes:
  Be able to run jvmti-stress on RI
  Do native method bind in jvmti-stress
  Agent libraries need to be searched for JNI functions

7 years agoBe able to run jvmti-stress on RI
Alex Light [Thu, 20 Apr 2017 22:54:25 +0000 (15:54 -0700)]
Be able to run jvmti-stress on RI

This is useful for testing.

When running on RI no class redefinition is performed.

Test: ./test/run-test --dev --jvm --jvmti-stress 001-HelloWorld
Test: ./test/run-test --dev --jvm --jvmti-stress 902
Test: ./test/run-test --dev --jvm --jvmti-stress 986

Change-Id: If234ff553bf136312c5128d03b02b28f4ff94e3d

7 years agoMerge "Improve VerifyNoFromSpaceRefsObjectVisitor logging"
Mathieu Chartier [Thu, 20 Apr 2017 22:52:23 +0000 (22:52 +0000)]
Merge "Improve VerifyNoFromSpaceRefsObjectVisitor logging"
am: 4e34bd1902

Change-Id: I448235c47699e613748300e6f42ab36ed56d1fa4

7 years agoDo native method bind in jvmti-stress
Alex Light [Thu, 20 Apr 2017 20:35:05 +0000 (13:35 -0700)]
Do native method bind in jvmti-stress

Extend the jvmti-stress test suite to intercept the NativeMethodBind
event for every method.

Also fix small issue where we tried to add a local reference to a null
thread in ti_method.cc if we had an event trigger before VMInit.

Test: ./test/testrunner/testrunner.py --host --jvmti-stress -j40
Bug: 37432636

Change-Id: I2d83fc460b18edf035ed7296b8e2b06cff3671e5

7 years agoAgent libraries need to be searched for JNI functions
Alex Light [Thu, 20 Apr 2017 16:15:08 +0000 (09:15 -0700)]
Agent libraries need to be searched for JNI functions

This makes agent libraries the option of last resort for native
method implementations. This will allow one to not need to manually
link all native methods in an agent library.

Bug: 37522517
Bug: 37432636
Test: ./test.py --host -j40
Change-Id: I5ad78a15e7e2799d2a877c5d603342899e2a1bd1

7 years agoMerge "Improve VerifyNoFromSpaceRefsObjectVisitor logging"
Treehugger Robot [Thu, 20 Apr 2017 22:43:05 +0000 (22:43 +0000)]
Merge "Improve VerifyNoFromSpaceRefsObjectVisitor logging"

7 years agoImprove VerifyNoFromSpaceRefsObjectVisitor logging
Mathieu Chartier [Thu, 20 Apr 2017 20:31:39 +0000 (13:31 -0700)]
Improve VerifyNoFromSpaceRefsObjectVisitor logging

Remove read barriers in PrettyTypeOf to prevent recursive failures.

Pass down holder and offset information to
VerifyNoFromSpaceRefsFieldVisitor.

Test: test-art-host
Bug: 37531237
Change-Id: I704ec18ebecfc1ca2982b38f67a2f0788e59dfe9

7 years agoMerge "ARM64: Support MultiplyAccumulate for SIMD."
Aart Bik [Thu, 20 Apr 2017 17:37:00 +0000 (17:37 +0000)]
Merge "ARM64: Support MultiplyAccumulate for SIMD."
am: f99f62f8e0

Change-Id: I581cb93c050d5e0344a2613e81836d57a6665c70

7 years agoMerge "ARM64: Support MultiplyAccumulate for SIMD."
Aart Bik [Thu, 20 Apr 2017 17:28:00 +0000 (17:28 +0000)]
Merge "ARM64: Support MultiplyAccumulate for SIMD."

7 years agoMerge changes from topic 'partial_tlab'
Mathieu Chartier [Thu, 20 Apr 2017 16:56:58 +0000 (16:56 +0000)]
Merge changes from topic 'partial_tlab'
am: 4c408ca726

Change-Id: I7af86c0bedb0f3c4babd8bba3bd46acf8225d63f

7 years agoMerge changes from topic 'partial_tlab'
Mathieu Chartier [Thu, 20 Apr 2017 16:47:51 +0000 (16:47 +0000)]
Merge changes from topic 'partial_tlab'

* changes:
  Fix some gtests
  Use partial TLAB regions

7 years agoMerge "Add descriptor validation to ClassLinker::FindClass()."
Vladimir Marko [Thu, 20 Apr 2017 15:23:21 +0000 (15:23 +0000)]
Merge "Add descriptor validation to ClassLinker::FindClass()."
am: 38870a8a27

Change-Id: Iffc3aed0a5fc54dac5a36518faf416724a03266f

7 years agoMerge "Add descriptor validation to ClassLinker::FindClass()."
Treehugger Robot [Thu, 20 Apr 2017 15:16:44 +0000 (15:16 +0000)]
Merge "Add descriptor validation to ClassLinker::FindClass()."

7 years agoAdd descriptor validation to ClassLinker::FindClass().
Vladimir Marko [Thu, 20 Apr 2017 10:26:03 +0000 (11:26 +0100)]
Add descriptor validation to ClassLinker::FindClass().

And add tests for odd signatures passed to JNI GetFieldID().
Previously, passing the signature "java/lang/String" instead
of "Ljava/lang/String;" would call the class loader with the
dot name java.lang.String and the class loader would find
that class only to fail the DescriptorEquals() check back
in ClassLinker::FindClass().

Test: 647-jni-get-field-id
Bug: 33577836
Bug: 37156832
Change-Id: I6612a272ec24b0d54b728fd35003e9c24a7e2e95

7 years agoMerge "Fix fault_handler with heap poisoning."
Nicolas Geoffray [Thu, 20 Apr 2017 12:36:09 +0000 (12:36 +0000)]
Merge "Fix fault_handler with heap poisoning."
am: aa03f6fa38

Change-Id: I8acd9d6f7129c1034c34e1722ac35e5a14d3f3df

7 years agoMerge "Fix fault_handler with heap poisoning."
Nicolas Geoffray [Thu, 20 Apr 2017 12:32:48 +0000 (12:32 +0000)]
Merge "Fix fault_handler with heap poisoning."

7 years agoFix fault_handler with heap poisoning.
Nicolas Geoffray [Thu, 20 Apr 2017 11:50:13 +0000 (12:50 +0100)]
Fix fault_handler with heap poisoning.

test: test-art-host
Change-Id: Ifeb3d5ff4cfdcb703d5874bca90c9c1438d86f08

7 years agoMerge "Vdex: Workaround arrays with erroneous component type."
Nicolas Geoffray [Thu, 20 Apr 2017 11:08:03 +0000 (11:08 +0000)]
Merge "Vdex: Workaround arrays with erroneous component type."
am: de9e54abcf

Change-Id: Ide0f8c117fc1f7406966bea73e88009eca21bc3d

7 years agoMerge "Vdex: Workaround arrays with erroneous component type."
Treehugger Robot [Thu, 20 Apr 2017 11:01:32 +0000 (11:01 +0000)]
Merge "Vdex: Workaround arrays with erroneous component type."

7 years agoVdex: Workaround arrays with erroneous component type.
Nicolas Geoffray [Wed, 19 Apr 2017 12:50:34 +0000 (13:50 +0100)]
Vdex: Workaround arrays with erroneous component type.

The assignability DCHECK is only reliable when classes are not
erroneous. For arrays whose component type could be erroneous,
the verifier can join types even if they're not assignable.

bug:33770646
Test: verifier_deps_test
Change-Id: I4ec1b12b2e2c7d5b57b51a64aea381f951a38dcd

7 years agoFix some gtests
Mathieu Chartier [Thu, 20 Apr 2017 06:54:33 +0000 (23:54 -0700)]
Fix some gtests

Forgot to retest.

Test: test-art-host-gtest

Change-Id: I72b07c3872079452a3a01db4fbd2c4ee0060f294

7 years agoUse partial TLAB regions
Mathieu Chartier [Wed, 19 Apr 2017 00:46:23 +0000 (17:46 -0700)]
Use partial TLAB regions

Instead of having 256K TLAB regions, have 256K TLABs split into
16K regions. This fixes pathological cases with multithreaded
allocation that caused many GCs since each thread reserving
256K would often bump the counter past the GC start threshold. Now
threads only bump the counter every 16K.

System wide results (average of 5 samples on N6P):
Total GC time 60s after starting shell: 45s -> 24s
Average .Heap PSS 60s after starting shell: 57900k -> 58682k

BinaryTrees gets around 5% slower, numbers are noisy.

Boot time: 13.302 -> 12.899 (average of 100 runs)

Bug: 35872915
Bug: 36216292

Test: test-art-host

(cherry picked from commit bf48003fa32d2845f2213c0ba31af6677715662d)

Change-Id: I5ab22420124eeadc0a53519c70112274101dfb39

7 years agoMerge "base: make SafeCopy work on older Linux kernels."
Josh Gao [Thu, 20 Apr 2017 03:09:00 +0000 (03:09 +0000)]
Merge "base: make SafeCopy work on older Linux kernels."
am: 8d0f3aaf28

Change-Id: I6542a492d60208b37f4880dc0d92d8ac3e61857d

7 years agoMerge "base: make SafeCopy work on older Linux kernels."
Treehugger Robot [Thu, 20 Apr 2017 03:04:32 +0000 (03:04 +0000)]
Merge "base: make SafeCopy work on older Linux kernels."

7 years agobase: make SafeCopy work on older Linux kernels.
Josh Gao [Wed, 19 Apr 2017 22:44:20 +0000 (15:44 -0700)]
base: make SafeCopy work on older Linux kernels.

process_vm_readv is documented to not split transfer across a single
iovec element, but this appears to not be the case for the newer
kernels we have on our workstations.

Split up transfers across page boundaries, to avoid this. This has the
side effect of limiting the maximum size of a transfer, but 64 pages
ought to be enough for anybody.

Test: safe_copy_test on 3.13.0-101-generic (failing before)
Test: safe_copy_test on 4.4.0-66-generic (still passing)
Change-Id: I6a6dbf0cd2aeaa7eab39f6d41285d46ebd760e30

7 years agoARM64: Support MultiplyAccumulate for SIMD.
Artem Serov [Mon, 10 Apr 2017 16:41:46 +0000 (17:41 +0100)]
ARM64: Support MultiplyAccumulate for SIMD.

Test: test-art-host, test-art-target.

Change-Id: I06af8415e15352d09d176cae828163cbe99ae7a7

7 years agoMerge "Remove obsolete rules to build runtests"
Colin Cross [Wed, 19 Apr 2017 22:58:42 +0000 (22:58 +0000)]
Merge "Remove obsolete rules to build runtests"
am: 6c99499c8a

Change-Id: I5e10478e2ffadec2c0ccad151c49c24e24e05a96

7 years agoMerge changes from topic 'art_run_test_912_cts_refactor'
Andreas Gampe [Wed, 19 Apr 2017 22:56:47 +0000 (22:56 +0000)]
Merge changes from topic 'art_run_test_912_cts_refactor'
am: afcec28403

Change-Id: Ibda516ad39de9a931e3b4ddc3ecfbeaba01dc719

7 years agoMerge "Remove obsolete rules to build runtests"
Colin Cross [Wed, 19 Apr 2017 22:54:19 +0000 (22:54 +0000)]
Merge "Remove obsolete rules to build runtests"

7 years agoMerge changes from topic 'art_run_test_912_cts_refactor'
Treehugger Robot [Wed, 19 Apr 2017 22:52:57 +0000 (22:52 +0000)]
Merge changes from topic 'art_run_test_912_cts_refactor'

* changes:
  ART: Refactor run-test 912 (3/3)
  ART: Refactor run-test 912 (2/3)
  ART: Refactor run-test 912 (1/3)

7 years agoART: Refactor run-test 912 (3/3)
Andreas Gampe [Wed, 19 Apr 2017 20:45:25 +0000 (13:45 -0700)]
ART: Refactor run-test 912 (3/3)

Add run-test Main.

Bug: 32072923
Test: m
Test: art/test/testrunner/testrunner.py -b --host -t 912
Change-Id: I4a4bbe587937d9b87eab77af1a5f05fd4df7f0d4

7 years agoART: Refactor run-test 912 (2/3)
Andreas Gampe [Wed, 19 Apr 2017 20:43:43 +0000 (13:43 -0700)]
ART: Refactor run-test 912 (2/3)

Move the refactored run-test into place.

Bug: 32072923
Test: m
Change-Id: I170cd1465a3afce3f48a9cbad864eaa5d9fdaacc

7 years agoART: Refactor run-test 912 (1/3)
Andreas Gampe [Wed, 19 Apr 2017 20:37:48 +0000 (13:37 -0700)]
ART: Refactor run-test 912 (1/3)

Refactor the test for CTS. Break out the ART-specific part. Move
the rest into the regular layout. Move class events to their own
thread, and report them on the Java side. Use InMemoryDexClassLoader
for classloaders to avoid explicit files.

Bug: 32072923
Test: none
Change-Id: I80e27cc9c21646bbecd1de1a246f583a0d388e05

7 years agoMerge "fault_handler: hopefully fix darwin build."
Josh Gao [Wed, 19 Apr 2017 20:29:35 +0000 (20:29 +0000)]
Merge "fault_handler: hopefully fix darwin build."
am: 1f56cb5c59

Change-Id: I9ef55964245472afd412ae0720651bc2fdcdc2e0

7 years agoMerge "fault_handler: hopefully fix darwin build."
Josh Gao [Wed, 19 Apr 2017 20:22:45 +0000 (20:22 +0000)]
Merge "fault_handler: hopefully fix darwin build."

7 years agofault_handler: hopefully fix darwin build.
Josh Gao [Wed, 19 Apr 2017 20:20:19 +0000 (13:20 -0700)]
fault_handler: hopefully fix darwin build.

Test: none
Change-Id: I08adf266c6287a289d213a0b1fa854f223fec72d

7 years agoMerge "Revert "Add dexdiag_test""
David Sehr [Wed, 19 Apr 2017 20:04:28 +0000 (20:04 +0000)]
Merge "Revert "Add dexdiag_test""
am: 1cfe8728e0

Change-Id: I705ab54f2a7386373be5fbb469ca1e1dfde670fe

7 years agoMerge changes Ie3d5e176,Ic1fbb885,I10bafcff
Josh Gao [Wed, 19 Apr 2017 20:04:04 +0000 (20:04 +0000)]
Merge changes Ie3d5e176,Ic1fbb885,I10bafcff
am: 3955baf83f

Change-Id: I449e532cd4061667213fea7a999278f7a52f6b9f

7 years agoMerge "Revert "Add dexdiag_test""
David Sehr [Wed, 19 Apr 2017 20:00:50 +0000 (20:00 +0000)]
Merge "Revert "Add dexdiag_test""

7 years agoMerge changes Ie3d5e176,Ic1fbb885,I10bafcff
Treehugger Robot [Wed, 19 Apr 2017 19:57:35 +0000 (19:57 +0000)]
Merge changes Ie3d5e176,Ic1fbb885,I10bafcff

* changes:
  fault_handler: use SafeCopy to verify the validity of ArtMethod.
  fault_handler: use SafeCopy to decode x86 instruction length.
  base: add SafeCopy.

7 years agoRevert "Add dexdiag_test"
David Sehr [Wed, 19 Apr 2017 19:44:08 +0000 (19:44 +0000)]
Revert "Add dexdiag_test"

This reverts commit 2120ad43acc0ab0fa74c151069948ef9698c009f.

Change-Id: Icdb42e47eb2f099cbfbd302477ad6614bb8524f1

7 years agoMerge "Implement can_generate_native_method_bind capability"
Alex Light [Wed, 19 Apr 2017 19:35:59 +0000 (19:35 +0000)]
Merge "Implement can_generate_native_method_bind capability"
am: 9088df87d9

Change-Id: I7be5238299d959c2d7bdabffe436fd7469cbd1e7

7 years agoMerge "Implement can_generate_native_method_bind capability"
Treehugger Robot [Wed, 19 Apr 2017 19:31:06 +0000 (19:31 +0000)]
Merge "Implement can_generate_native_method_bind capability"

7 years agoMerge "Implement halving add idiom (with checker tests)."
Aart Bik [Wed, 19 Apr 2017 19:24:27 +0000 (19:24 +0000)]
Merge "Implement halving add idiom (with checker tests)."
am: ed5d0ee21e

Change-Id: Ibc118d3cad5b7563426a9fee07e1082e750da552

7 years agoMerge "Implement halving add idiom (with checker tests)."
Treehugger Robot [Wed, 19 Apr 2017 19:19:00 +0000 (19:19 +0000)]
Merge "Implement halving add idiom (with checker tests)."

7 years agoMerge "MIPS64: java.lang.System.arraycopy() for copying char[] to char[]."
Chris Larsen [Wed, 19 Apr 2017 18:21:52 +0000 (18:21 +0000)]
Merge "MIPS64: java.lang.System.arraycopy() for copying char[] to char[]."
am: 88b7c37163

Change-Id: Iae649dc92794bee44aec59b000a1ae312d2093c7

7 years agoMerge "MIPS64: java.lang.System.arraycopy() for copying char[] to char[]."
Treehugger Robot [Wed, 19 Apr 2017 18:15:58 +0000 (18:15 +0000)]
Merge "MIPS64: java.lang.System.arraycopy() for copying char[] to char[]."

7 years agoMerge "Fix CHA test failures under some configurations."
Mingyao Yang [Wed, 19 Apr 2017 18:03:51 +0000 (18:03 +0000)]
Merge "Fix CHA test failures under some configurations."
am: 59715029ae

Change-Id: I2b3f997173ad4a99470333b2d1c7c5dc4ec15b6f

7 years agoMerge "Fix CHA test failures under some configurations."
Mingyao Yang [Wed, 19 Apr 2017 17:59:32 +0000 (17:59 +0000)]
Merge "Fix CHA test failures under some configurations."

7 years agofault_handler: use SafeCopy to verify the validity of ArtMethod.
Josh Gao [Tue, 18 Apr 2017 03:10:29 +0000 (20:10 -0700)]
fault_handler: use SafeCopy to verify the validity of ArtMethod.

Reimplement ArtMethod::GetDeclaringClassUnchecked and VerifyClassClass
in terms of SafeCopy, to be able to safely verify the validity of
putative ArtMethods in FaultManager::IsInGeneratedCode.

Bug: http://b/30836730
Test: m test-art-host
Change-Id: Ie3d5e176ea569cedcefd320e2480a1e1e496a53a

7 years agoImplement halving add idiom (with checker tests).
Aart Bik [Thu, 13 Apr 2017 00:09:20 +0000 (17:09 -0700)]
Implement halving add idiom (with checker tests).

Rationale:
First of several idioms that map to very efficient SIMD instructions.
Note that the is-zero-ext and is-sign-ext are general-purpose utilities
that will be widely used in the vectorizer to detect low precision
idioms, so expect that code to be shared with many CLs to come.

Test: test-art-host, test-art-target
Change-Id: If7dc2926c72a2e4b5cea15c44ef68cf5503e9be9

7 years agoMerge "Allow dex2oat to handle relative paths."
Jeff Hao [Wed, 19 Apr 2017 17:20:31 +0000 (17:20 +0000)]
Merge "Allow dex2oat to handle relative paths."
am: 72fdec3928

Change-Id: I4daab86a70cde8e9d99b4e49d21e59879d2bec70

7 years agoMerge "Allow dex2oat to handle relative paths."
Treehugger Robot [Wed, 19 Apr 2017 17:13:11 +0000 (17:13 +0000)]
Merge "Allow dex2oat to handle relative paths."

7 years agoImplement can_generate_native_method_bind capability
Alex Light [Tue, 18 Apr 2017 22:20:38 +0000 (15:20 -0700)]
Implement can_generate_native_method_bind capability

This capability lets one observe and even replace the implementations
of native methods when they are bound.

Test: ./test.py --host -j40

Bug: 37432636
Change-Id: I2432a8e4da1a677e8011ce495296f4ab9f42eb3e

7 years agoMerge "Add dexdiag_test"
David Sehr [Wed, 19 Apr 2017 16:41:45 +0000 (16:41 +0000)]
Merge "Add dexdiag_test"
am: ad70f8f997

Change-Id: Ib0b515f78bf12a1c8c2aaa2394b7c9bd2eae3181

7 years agoMerge "Add dexdiag_test"
David Sehr [Wed, 19 Apr 2017 16:37:46 +0000 (16:37 +0000)]
Merge "Add dexdiag_test"

7 years agoMerge "ART: Refactor run-test 924"
Andreas Gampe [Wed, 19 Apr 2017 16:18:33 +0000 (16:18 +0000)]
Merge "ART: Refactor run-test 924"
am: 70d9cf92f6

Change-Id: I805ddab8a1b96f53ba0f9dc67b0df98a429e088f

7 years agoMerge "ART: Filter more thread roots"
Andreas Gampe [Wed, 19 Apr 2017 16:18:13 +0000 (16:18 +0000)]
Merge "ART: Filter more thread roots"
am: 5e2c2894dc

Change-Id: Iabef998fd43ff59b586dc86516b6ee449781b3d4

7 years agoMerge "ART: Refactor run-test 924"
Treehugger Robot [Wed, 19 Apr 2017 16:14:17 +0000 (16:14 +0000)]
Merge "ART: Refactor run-test 924"

7 years agoMerge "ART: Filter more thread roots"
Treehugger Robot [Wed, 19 Apr 2017 16:13:40 +0000 (16:13 +0000)]
Merge "ART: Filter more thread roots"

7 years agoMerge "Record class status after verification."
Nicolas Geoffray [Wed, 19 Apr 2017 12:38:08 +0000 (12:38 +0000)]
Merge "Record class status after verification."
am: 25009fdd7a

Change-Id: I28f26f8df620687c3c2124812e7f228eb53d7e2e

7 years agoMerge "Record class status after verification."
Nicolas Geoffray [Wed, 19 Apr 2017 12:31:42 +0000 (12:31 +0000)]
Merge "Record class status after verification."

7 years agoMerge "ARM64: Heap poisoning for link-time Baker CC read barrier thunks."
Vladimir Marko [Wed, 19 Apr 2017 11:38:33 +0000 (11:38 +0000)]
Merge "ARM64: Heap poisoning for link-time Baker CC read barrier thunks."
am: 46d342f845

Change-Id: I38dcd3f91d902c7020aa39ef3541a1868f3ee596

7 years agoMerge "ARM64: Heap poisoning for link-time Baker CC read barrier thunks."
Vladimir Marko [Wed, 19 Apr 2017 11:32:49 +0000 (11:32 +0000)]
Merge "ARM64: Heap poisoning for link-time Baker CC read barrier thunks."

7 years agoMerge "Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14"
Sebastien Hertz [Wed, 19 Apr 2017 10:23:00 +0000 (10:23 +0000)]
Merge "Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14"
am: bea9172064

Change-Id: I7c55be3340ad08e8142c39804ea2b28d8492de00

7 years agoMerge "Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14"
Treehugger Robot [Wed, 19 Apr 2017 10:13:12 +0000 (10:13 +0000)]
Merge "Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14"

7 years agoMerge "Reduce timeout of JDWP tests"
Sebastien Hertz [Wed, 19 Apr 2017 09:38:26 +0000 (09:38 +0000)]
Merge "Reduce timeout of JDWP tests"
am: aebc6870db

Change-Id: I8f995fc15c007572662f65a2533d998da99c3be8

7 years agoARM64: Heap poisoning for link-time Baker CC read barrier thunks.
Vladimir Marko [Tue, 18 Apr 2017 12:55:13 +0000 (13:55 +0100)]
ARM64: Heap poisoning for link-time Baker CC read barrier thunks.

And fix running out of scratch registers for HArraySet
with large constant index and a reference to poison.

Test: Nexus 6P boots with heap poisoning enabled.
Test: testrunner.py --target with heap poisoning enabled on Nexus 6P.
Bug: 29516974
Bug: 30126666
Bug: 36141117
Change-Id: Ifb38f4a0e23a2963468772f34f294febfc340b8c

7 years agoMerge "Reduce timeout of JDWP tests"
Sebastien Hertz [Wed, 19 Apr 2017 09:26:54 +0000 (09:26 +0000)]
Merge "Reduce timeout of JDWP tests"

7 years agoReduce timeout of JDWP tests
Sebastien Hertz [Mon, 27 Mar 2017 09:35:54 +0000 (11:35 +0200)]
Reduce timeout of JDWP tests

This CL sets the timeout of JDWP tests to 10s (instead of the default
timeout of 60s).

This should save up time for continuous testing (~ 3min on host).
Indeed, some tests do wait until the timeout to detect that no reply
(or no event) has been received.

Test: art/tools/run-jdwp-tests.sh --mode=host --variant=X64
Change-Id: Id03c8a1d629e6da551cf8eb405cc79754a363fe0

7 years agoMerge "Revert "Invoke dex2oat explictly before dalvikvm""
Nicolas Geoffray [Wed, 19 Apr 2017 09:15:55 +0000 (09:15 +0000)]
Merge "Revert "Invoke dex2oat explictly before dalvikvm""
am: 75be076511

Change-Id: I40d7f7b443408716de3bb04f39587b39d39c0728

7 years agoMerge "Revert "Invoke dex2oat explictly before dalvikvm""
Nicolas Geoffray [Wed, 19 Apr 2017 09:01:46 +0000 (09:01 +0000)]
Merge "Revert "Invoke dex2oat explictly before dalvikvm""

7 years agoRevert "Invoke dex2oat explictly before dalvikvm"
Nicolas Geoffray [Wed, 19 Apr 2017 09:01:29 +0000 (09:01 +0000)]
Revert "Invoke dex2oat explictly before dalvikvm"

Fails on device with:
07-13 04:35:49.410 24424 24424 F dex2oat : instruction_set_features.cc:58] static std::unique_ptr<const InstructionSetFeatures> art::InstructionSetFeatures::FromVariant(art::InstructionSet, const std::string &, std::string *) unimplemented None

Bug: 36824842

This reverts commit 4806f7afc92b1812cefaab291235d01773732400.

Change-Id: I34a23fb69b0284e6d70ec0a54d5ada9e107ffeb7

7 years agoRecord class status after verification.
Nicolas Geoffray [Wed, 19 Apr 2017 08:36:24 +0000 (09:36 +0100)]
Record class status after verification.

The class status was recorded when doing vdex verification, or
any compilation (quickening or optimizing), but not when only doing
verification.

bug:37446669
Test:compiler_driver_test
Change-Id: Id027c7a9776ed651de570a0f3417c969c8cff9cd

7 years agoFollow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14
Sebastien Hertz [Tue, 18 Apr 2017 16:28:51 +0000 (18:28 +0200)]
Follow-up to 70d60275cc2860bde50e5f9c5b151e94f745ae14

Test: make -j build-art-host
Change-Id: Id6e81518041bd64dec537ff3da2fa049d39b27d0

7 years agoMerge "Always check result of Thread::ModifySuspendCount"
Sebastien Hertz [Wed, 19 Apr 2017 07:31:49 +0000 (07:31 +0000)]
Merge "Always check result of Thread::ModifySuspendCount"
am: 0d8cf9106c

Change-Id: I782e9dc794ea46bb29a777c10cda45e36fd26a5f

7 years agoMerge "Always check result of Thread::ModifySuspendCount"
Sebastien Hertz [Wed, 19 Apr 2017 07:23:36 +0000 (07:23 +0000)]
Merge "Always check result of Thread::ModifySuspendCount"

7 years agoMerge "Call mirror::CallSite::VisitRoots"
Mathieu Chartier [Wed, 19 Apr 2017 02:48:00 +0000 (02:48 +0000)]
Merge "Call mirror::CallSite::VisitRoots"
am: ea24e09568

Change-Id: I3f1dfaac4eb3e9e2cc5cc38d68c2da84fd61ed58

7 years agoMerge "Call mirror::CallSite::VisitRoots"
Mathieu Chartier [Wed, 19 Apr 2017 02:41:02 +0000 (02:41 +0000)]
Merge "Call mirror::CallSite::VisitRoots"

7 years agoAllow dex2oat to handle relative paths.
Jeff Hao [Thu, 6 Apr 2017 00:05:46 +0000 (17:05 -0700)]
Allow dex2oat to handle relative paths.

During installation at compile time, the PackageManager is passing
shared libraries to dex2oat with -classpath. For split apps, we want the
splits to have the proper dependencies, and are now passing previous
parts of the split apk as shared libraries as we compile them all. These
apks are staged in a temp dir during compilation, so we pass a relative
path for them instead.

Since PackageManager can now pass relative paths to dex2oat as shared
libraries, dex2oat has an added --classpath-dir switch to specify the
directory to use for relative class paths. At runtime when checking
shared libraries, we use oat file functionality to resolve relative paths
to determine if the paths match.

Bug: 34169257
Test: cts-tradefed run singleCommand cts -d --module
CtsAppSecurityHostTestCases -t android.appsecurity.cts.SplitTests

Merged-In: I9667f0069c8d12e94598f8a78888d3855d870824
(cherry-picked from commit f79ac83a8c18b0bd81aafc9c8823f6bed35d8847)

Change-Id: I8e4703fdd4bfeb94f982e93abb7eb0cd71060fce

7 years agoMerge "Invoke dex2oat explictly before dalvikvm"
Calin Juravle [Tue, 18 Apr 2017 23:35:15 +0000 (23:35 +0000)]
Merge "Invoke dex2oat explictly before dalvikvm"
am: 77ced6adfd

Change-Id: I60b418c83278e135064e9d657d5a75d95619d854

7 years agoCall mirror::CallSite::VisitRoots
Mathieu Chartier [Tue, 18 Apr 2017 23:14:19 +0000 (16:14 -0700)]
Call mirror::CallSite::VisitRoots

Needed to visit CallSite static class root.

Test: test/run-test --no-patchoat --relocate --host --64 --interpreter --gdb 952

Bug: 33191717

Change-Id: I1fad3df8ad810c5c7905afadfa25cdc0901ef035

7 years agoMerge "Invoke dex2oat explictly before dalvikvm"
Calin Juravle [Tue, 18 Apr 2017 23:20:16 +0000 (23:20 +0000)]
Merge "Invoke dex2oat explictly before dalvikvm"

7 years agoART: Refactor run-test 924
Andreas Gampe [Wed, 12 Apr 2017 15:42:16 +0000 (08:42 -0700)]
ART: Refactor run-test 924

Move testing to a dedicated thread to have a known thread name.
Change event reporting to be Java-side. Use Java-side thread list
(from Thread.getAllStackTraces) as comparison for minimal expected
set of threads.

Bug: 32072923
Test: art/test/testrunner/testrunner.py -b --host -t 924
Change-Id: I238ffc202e42eea8d1788137715188d3dfbcc8fb

7 years agoAdd dexdiag_test
David Sehr [Fri, 14 Apr 2017 22:26:09 +0000 (15:26 -0700)]
Add dexdiag_test

Tests that dexdiag runs on the current process and returns with a
non-error status for a variety of command line options.

Bug: 35800981
Test: make test-art-target-gtest-dexdiag_test
Change-Id: Ib6f21a99ddec270cf8026a6123b028fe4b3fb840

7 years agoMerge "Fix obsolete method change check."
Alex Light [Tue, 18 Apr 2017 22:53:54 +0000 (22:53 +0000)]
Merge "Fix obsolete method change check."
am: 494505a9de

Change-Id: Ie3dac35eb222fb3662b2588576ca71c7a029495a

7 years agoMerge "Fix obsolete method change check."
Treehugger Robot [Tue, 18 Apr 2017 22:42:58 +0000 (22:42 +0000)]
Merge "Fix obsolete method change check."

7 years agoInvoke dex2oat explictly before dalvikvm
Calin Juravle [Wed, 12 Apr 2017 02:04:28 +0000 (19:04 -0700)]
Invoke dex2oat explictly before dalvikvm

The goal is to stop relying on dex2oat being run when dex files are
loaded.

Test: ./out/host/linux-x86/bin/art --profile -Ximage:$PWD/out/host/linux-x86/framework/core.art -Xusejit:true -Xcompiler-option --compiler-filter=speed -Xcompiler-option --compiler-backend=Optimizing -verbose:oat -Djava.library.path=$PWD/out/x86_64/host/linux-x86/lib64 -cp $PWD/generated/benchmarks.dex benchmarks.ExoPlayerBench.java.ExoPlayerBench

Bug: 36824842
Change-Id: I9f4a1384cdc91502edea08402ee984c57ff8c37d

7 years agofault_handler: use SafeCopy to decode x86 instruction length.
Josh Gao [Tue, 18 Apr 2017 18:18:56 +0000 (11:18 -0700)]
fault_handler: use SafeCopy to decode x86 instruction length.

Prevent a crash in the x86 fault handler when pc points to garbage and
we try to figure out its instruction length.

Bug: http://b/30836730
Test: m test-art-host
Change-Id: Ic1fbb8856e30140f0e1ebc9caccf9559e88ff137

7 years agobase: add SafeCopy.
Josh Gao [Tue, 18 Apr 2017 01:31:26 +0000 (18:31 -0700)]
base: add SafeCopy.

Add a function that uses process_vm_readv on Linux to safely
dereference pointers without the risk of segfault.

Bug: http://b/30836730
Test: safe_copy_test on host
Change-Id: I10bafcffe2172e17b00f65455d1dd6a08aa631d7

7 years agoART: Filter more thread roots
Andreas Gampe [Tue, 18 Apr 2017 20:59:09 +0000 (13:59 -0700)]
ART: Filter more thread roots

Also filter interface classes that may be held by the JIT.

Bug: 31385354
Test: art/test/testrunner/testrunner.py --host -b -t 913
Change-Id: I129ab8c28e398d779d9d43b03358aa54a9a14c8c

7 years agoFix obsolete method change check.
Alex Light [Tue, 18 Apr 2017 20:03:31 +0000 (13:03 -0700)]
Fix obsolete method change check.

We were incorrectly checking for changes in the obsolete-method map.
This could cause issues if a class was redefined multiple times.

Bug: 37475600

Test: ./test.py --host -j40
Test: cts-tradefed run cts-dev --module CtsJvmtiRedefineClassesHostTestCases

Change-Id: Icf39d5154c0e48461405b700bf1fa20830195fc1

7 years agoMerge "Make ART build/test configurations use the CC collector by default."
Roland Levillain [Tue, 18 Apr 2017 18:28:13 +0000 (18:28 +0000)]
Merge "Make ART build/test configurations use the CC collector by default."
am: 741a81af44

Change-Id: Ica953a72f63c07fb551b75b2f0448bb1212d792f

7 years agoMerge "Differentiate between native alloc and normal background GC"
Mathieu Chartier [Tue, 18 Apr 2017 18:27:53 +0000 (18:27 +0000)]
Merge "Differentiate between native alloc and normal background GC"
am: e4e7d601ef

Change-Id: I26f9a501d9da8b5d9cdefc08ae1a4fa394a533b6

7 years agoMerge "ART: Make less lock-level noise on abort"
Andreas Gampe [Tue, 18 Apr 2017 18:27:38 +0000 (18:27 +0000)]
Merge "ART: Make less lock-level noise on abort"
am: 2888e85164

Change-Id: I58b17056982de8e306ab6e0dfef430f74b5ec11f

7 years agoMerge "Make ART build/test configurations use the CC collector by default."
Treehugger Robot [Tue, 18 Apr 2017 18:25:01 +0000 (18:25 +0000)]
Merge "Make ART build/test configurations use the CC collector by default."

7 years agoMerge "Differentiate between native alloc and normal background GC"
Mathieu Chartier [Tue, 18 Apr 2017 18:24:00 +0000 (18:24 +0000)]
Merge "Differentiate between native alloc and normal background GC"

7 years agoMerge "ART: Make less lock-level noise on abort"
Treehugger Robot [Tue, 18 Apr 2017 18:21:41 +0000 (18:21 +0000)]
Merge "ART: Make less lock-level noise on abort"

7 years agoDifferentiate between native alloc and normal background GC
Mathieu Chartier [Mon, 17 Apr 2017 22:24:43 +0000 (15:24 -0700)]
Differentiate between native alloc and normal background GC

Added a new GC cause kGcCauseForNativeAllocBackground.

Bug: 35872915

Test: test-art-host

Change-Id: I94e17f8bd53af29f2862b9910bd8abd2df97e229