OSDN Git Service

android-x86/art.git
7 years agoMerge "Add check that map offset is sane to DexFile object init."
Treehugger Robot [Thu, 13 Apr 2017 23:24:21 +0000 (23:24 +0000)]
Merge "Add check that map offset is sane to DexFile object init."

7 years agoMerge "Various debug ART GC performance improvements"
Mathieu Chartier [Thu, 13 Apr 2017 23:21:54 +0000 (23:21 +0000)]
Merge "Various debug ART GC performance improvements"

7 years agoMerge "Add check that dexlayout can open output file."
Treehugger Robot [Thu, 13 Apr 2017 23:16:11 +0000 (23:16 +0000)]
Merge "Add check that dexlayout can open output file."

7 years agoAdd check that map offset is sane to DexFile object init.
Jeff Hao [Thu, 13 Apr 2017 21:36:29 +0000 (14:36 -0700)]
Add check that map offset is sane to DexFile object init.

The DexFile constructor calls InitializeSectionsFromMapList, which
uses the header's map_offset before any checks are done on the file.

Bug: 37235346
Test: mm test-art-host-gtest-dex_file_test
Change-Id: I4fb8fcb57f9ef7e0182965b7ce663424b953abcb

7 years agoVarious debug ART GC performance improvements
Mathieu Chartier [Thu, 13 Apr 2017 18:47:53 +0000 (11:47 -0700)]
Various debug ART GC performance improvements

Removed unnecessary read barriers in SizeOf and a few other places.
Disabled disallow read barrier check.

Before:
GC time: 15.817s
Real 0m26.113s
user  1m16.780s
sys 0m3.152s

After:
GC time: 9.212s
real  0m19.875s
user  1m9.916s
sys 0m1.916s

Bug: 35644369
Test: test-art-host

Change-Id: I79a65259deff2a478a96e02ae69b14730b6dcbe6

7 years agoMerge changes from topic 'art_run_test_910_cts'
Treehugger Robot [Thu, 13 Apr 2017 19:55:19 +0000 (19:55 +0000)]
Merge changes from topic 'art_run_test_910_cts'

* changes:
  ART: Refactor run-test 910
  ART: Fix GetArgumentsSize

7 years agoMerge "MIPS32: java.lang.System.arraycopy() for copying char[] to char[]."
Treehugger Robot [Thu, 13 Apr 2017 19:31:02 +0000 (19:31 +0000)]
Merge "MIPS32: java.lang.System.arraycopy() for copying char[] to char[]."

7 years agoART: Refactor run-test 910
Andreas Gampe [Thu, 13 Apr 2017 03:49:38 +0000 (20:49 -0700)]
ART: Refactor run-test 910

Ensure a stable name for the proxy to be tested.

Bug: 32072923
Test: art/test/testrunner/testrunner.py --host -t 910
Change-Id: I34aedcdfae55f0bd0563d8aff0b8a8fdeb08de99

7 years agoART: Fix GetArgumentsSize
Andreas Gampe [Thu, 13 Apr 2017 04:11:28 +0000 (21:11 -0700)]
ART: Fix GetArgumentsSize

Fix the copy-paste mistake in GetArgumentsSize for abstract and
proxy methods. Use the usual computation derived from the shorty.

Bug: 34163329
Test: art/test/testrunner/testrunner.py --host -t 910
Change-Id: I71eaab70063303bea8eaa391ea067ebf8027820f

7 years agoAdd check that dexlayout can open output file.
Jeff Hao [Wed, 12 Apr 2017 23:14:54 +0000 (16:14 -0700)]
Add check that dexlayout can open output file.

Test: mm test-art-host
Change-Id: I49b37b3e3696c8c002e22533c2e86e47a0e13e51

7 years agoMerge "ART: Refactor run-test 904"
Treehugger Robot [Thu, 13 Apr 2017 17:16:12 +0000 (17:16 +0000)]
Merge "ART: Refactor run-test 904"

7 years agoMerge "Add OAT file mapping to dexdiag"
David Sehr [Thu, 13 Apr 2017 16:39:30 +0000 (16:39 +0000)]
Merge "Add OAT file mapping to dexdiag"

7 years agoMIPS32: java.lang.System.arraycopy() for copying char[] to char[].
Chris Larsen [Thu, 23 Mar 2017 22:37:03 +0000 (15:37 -0700)]
MIPS32: java.lang.System.arraycopy() for copying char[] to char[].

Test: run-test --no-prebuild --optimizing 011-array-copy
Test: run-test --no-prebuild 011-array-copy
Test: run-test --optimizing 011-array-copy
Test: run-test 011-array-copy
Test: mma -j2 ART_TEST_OPTIMIZING=true test-art-target-run-test
Test: booted MIPS32R2 emulator.

Note: Tested against both the MIPS32R2, and MIPS64R6 emulators.

Change-Id: I0fc59fe8a242692b52cf8e8413d28397e210bb65

7 years agoMerge "ARM/VIXL: Fix TypeConversion of large long constants to int."
Treehugger Robot [Thu, 13 Apr 2017 14:38:54 +0000 (14:38 +0000)]
Merge "ARM/VIXL: Fix TypeConversion of large long constants to int."

7 years agoARM/VIXL: Fix TypeConversion of large long constants to int.
Vladimir Marko [Thu, 13 Apr 2017 10:50:14 +0000 (11:50 +0100)]
ARM/VIXL: Fix TypeConversion of large long constants to int.

The ARM VIXL backend was using Int32ConstantFrom() to get
the value of a HLongConstant for TypeConversion to int.
That function has DCHECK()s that the constant fits into a
32-bit int which is bogus in this particular case.

This was out of sync with the old ARM backend, so bring the
two in sync by using the approach from the old backend.

Bug: 37236345
Test: 646-checker-lon-const-to-int
Change-Id: I675ebd7bbaa14d5dfc3f280f62867d342cbab683

7 years agoMerge "ARM64: Use link-time generated thunks for Baker CC read barrier."
Vladimir Marko [Thu, 13 Apr 2017 12:54:22 +0000 (12:54 +0000)]
Merge "ARM64: Use link-time generated thunks for Baker CC read barrier."

7 years agoMerge "MIPS32: Add direct calls to math intrinsics."
Treehugger Robot [Thu, 13 Apr 2017 11:17:06 +0000 (11:17 +0000)]
Merge "MIPS32: Add direct calls to math intrinsics."

7 years agoMerge "ART: Fix test dependencies"
Andreas Gampe [Thu, 13 Apr 2017 04:58:19 +0000 (04:58 +0000)]
Merge "ART: Fix test dependencies"

7 years agoART: Fix test dependencies
Andreas Gampe [Thu, 13 Apr 2017 04:53:55 +0000 (21:53 -0700)]
ART: Fix test dependencies

Follow-up to commit 8f2c6d479aeda3165c4f54c1076ec7ac335fccc7.

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

7 years agoART: Refactor run-test 904
Andreas Gampe [Thu, 13 Apr 2017 02:06:12 +0000 (19:06 -0700)]
ART: Refactor run-test 904

Refactor run-test so it does not depend on printf output. That way
we can run it in CTS.

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

7 years agoMerge changes I49c02b92,I898e5cff
Treehugger Robot [Thu, 13 Apr 2017 01:32:51 +0000 (01:32 +0000)]
Merge changes I49c02b92,I898e5cff

* changes:
  Ensure one can call DisposeEnvironment during event callbacks.
  run-tests with jvmti-stress configuration

7 years agoEnsure one can call DisposeEnvironment during event callbacks.
Alex Light [Wed, 12 Apr 2017 23:13:33 +0000 (16:13 -0700)]
Ensure one can call DisposeEnvironment during event callbacks.

Previously calling DisposeEnvironment during an event callback would
cause a currently in-use iterator to be invalidated. This could cause
undefined behavior.

Bug: 37283252
Test: ./test/testrunner/testrunner.py --host --jvmti-stress -j40
Change-Id: I49c02b925f0da5d4f66965f0fca21bf8dc83132a

7 years agorun-tests with jvmti-stress configuration
Alex Light [Mon, 10 Apr 2017 23:27:35 +0000 (16:27 -0700)]
run-tests with jvmti-stress configuration

Adds a jvmti-stress mode to our run-tests. This mode runs our test
suite with every class-load being intercepted and undergoing
redefinition.

Test: DEXTER_BINARY="/path/to/built/dexter" \
      ./testrunner/testrunner.py --host --jvmti-stress -j40

Change-Id: I898e5cffea42a203aa4c45981b48baf8dc64fbb6

7 years agoAdd OAT file mapping to dexdiag
David Sehr [Wed, 5 Apr 2017 21:43:38 +0000 (14:43 -0700)]
Add OAT file mapping to dexdiag

Adds the ability to visualize the executable mapped sections of an OAT
file.

Bug: 37217968
Test: test-art-target-gtest-dexdiag_test
Change-Id: Id9f33885ee38a3753e781f955127eb8e1b83fe4d

7 years agoMerge "MIPS64: Add direct calls to math intrinsics."
Treehugger Robot [Wed, 12 Apr 2017 18:39:45 +0000 (18:39 +0000)]
Merge "MIPS64: Add direct calls to math intrinsics."

7 years agoMIPS32: Add direct calls to math intrinsics.
Chris Larsen [Fri, 24 Mar 2017 19:11:54 +0000 (12:11 -0700)]
MIPS32: Add direct calls to math intrinsics.

- cos       - sin       - acos      - asin
- atan      - atan2     - cbrt      - cosh
- exp       - expm1     - hypot     - log
- log10     - nextAfter - sinh      - tan
- tanh

Test: run-test --no-prebuild --optimizing 123-inline-execute2
Test: run-test --no-prebuild 123-inline-execute2
Test: run-test --optimizing 123-inline-execute2
Test: run-test 123-inline-execute2
Test: Booted MIPS32R2 and MIPS64R6 emulators.

Note: Ran tests under both emulators, and on CI20 hardware.

Change-Id: I4c1782d609a985ae49737f47c43caa5b0b6a10e3

7 years agoMerge "Fix broken DCHECK."
Treehugger Robot [Wed, 12 Apr 2017 17:56:13 +0000 (17:56 +0000)]
Merge "Fix broken DCHECK."

7 years agoMerge "Clear zygote space cards for CC"
Mathieu Chartier [Wed, 12 Apr 2017 17:28:38 +0000 (17:28 +0000)]
Merge "Clear zygote space cards for CC"

7 years agoMerge "Fix -XX:DumpGCPerformanceOnShutdown for debug builds"
Mathieu Chartier [Wed, 12 Apr 2017 17:27:39 +0000 (17:27 +0000)]
Merge "Fix -XX:DumpGCPerformanceOnShutdown for debug builds"

7 years agoARM64: Use link-time generated thunks for Baker CC read barrier.
Vladimir Marko [Mon, 20 Mar 2017 18:26:59 +0000 (18:26 +0000)]
ARM64: Use link-time generated thunks for Baker CC read barrier.

Remaining work for follow-up CLs:
  - array loads,
  - volatile field loads,
  - use implicit null check in field thunk.

Test: Added tests to relative_patcher_arm64
Test: New run-test 160-read-barrier-stress
Test: m test-art-target-gtest on Nexus 6P.
Test: testrunner.py --target on Nexus 6P.
Bug: 29516974
Bug: 30126666
Bug: 36141117
Change-Id: Id68ff171c55a3f1bf1ac1b657f480531aa7b3710

7 years agoFix broken DCHECK.
Alex Light [Wed, 12 Apr 2017 16:01:47 +0000 (09:01 -0700)]
Fix broken DCHECK.

The DCHECK in ti_class_definition was incorrectly checking that the
original dex file was a primitive long instead of a boxed long.

Bug: 37271822
Test: ./test/testrunner/testrunner.py --host --jvmti-stress -j40
Change-Id: I901c6e2f6f93dca584faff70134cee957d8462c3

7 years agoMerge changes I1d4db176,Ifb931a99
Aart Bik [Wed, 12 Apr 2017 15:52:08 +0000 (15:52 +0000)]
Merge changes I1d4db176,Ifb931a99

* changes:
  ARM64: Support vectorization for double and long.
  ARM64: Support 128-bit registers for SIMD.

7 years agoMerge "MIPS: Use Lsa/Dlsa when possible."
Treehugger Robot [Wed, 12 Apr 2017 12:17:44 +0000 (12:17 +0000)]
Merge "MIPS: Use Lsa/Dlsa when possible."

7 years agoMerge "Add an 'art-preopt' test target configuration."
Richard Uhler [Wed, 12 Apr 2017 07:44:46 +0000 (07:44 +0000)]
Merge "Add an 'art-preopt' test target configuration."

7 years agoMerge changes Ic7d75e1e,Iaf828034
Andreas Gampe [Wed, 12 Apr 2017 04:07:43 +0000 (04:07 +0000)]
Merge changes Ic7d75e1e,Iaf828034

* changes:
  ART: Fix GetSystemProperty (2)
  ART: Fix GetSystemProperty

7 years agoFix -XX:DumpGCPerformanceOnShutdown for debug builds
Mathieu Chartier [Wed, 12 Apr 2017 00:50:00 +0000 (17:50 -0700)]
Fix -XX:DumpGCPerformanceOnShutdown for debug builds

There was a failing DCHECK from CheckUnattachedThread. The fix is
to dump after attaching the shutdown thread.

Bug: 35644369
Test: test-art-host

Change-Id: I3d927e380888418167c101b2f09d1e547fe728cf

7 years agoMerge changes Ib29b3920,Ice5efad9
Treehugger Robot [Tue, 11 Apr 2017 23:51:05 +0000 (23:51 +0000)]
Merge changes Ib29b3920,Ice5efad9

* changes:
  ART: Move trampoline logging to -verbose:dex
  ART: Add -verbose:dex

7 years agoART: Fix GetSystemProperty (2)
Andreas Gampe [Tue, 11 Apr 2017 23:47:29 +0000 (16:47 -0700)]
ART: Fix GetSystemProperty (2)

Add live-phase Java-call fallback for java.library.path.

Bug: 31455788
Test: manual
Change-Id: Ic7d75e1e17760fce5506359058b754eb283b9c41

7 years agoClear zygote space cards for CC
Mathieu Chartier [Tue, 11 Apr 2017 18:12:28 +0000 (11:12 -0700)]
Clear zygote space cards for CC

There may be dirty cards from reference processing or from zygote
compaction. Having these dirty cards in the zygote space is
unnecessary and causes PSS increase from GrayAllDirtyImmuneObjects
in future GCs. Clearing the zygote space cards when the zygote
space is created fixes this issue and reduces PSS.

System wide PSS for zygote space, before:
7,899K: .Zygote
7,896K: .Zygote
8,067K: .Zygote
8,547K: .Zygote

After:
4,881K: .Zygote
5,003K: .Zygote
5,582K: .Zygote
5,259K: .Zygote
5,176K: .Zygote

Bug: 12687968
Bug: 37219911

Test: Device boots
Test: test-art-host

(cherry picked from commit d5a67447de577546b76c0565aed5af56176bbeb4)

Change-Id: I4746c4829056f558b454c78c5991426feb460904

7 years agoART: Fix GetSystemProperty
Andreas Gampe [Tue, 11 Apr 2017 22:59:24 +0000 (15:59 -0700)]
ART: Fix GetSystemProperty

Align with VMRuntime.getClassPath to emit "." for an empty path.

Bug: 31455788
Test: manual
Change-Id: Iaf828034d414f45c20960ab6fd0ceb598362c6f1

7 years agoMerge "Add option for duplicate classes check to return all dupes."
Treehugger Robot [Tue, 11 Apr 2017 21:41:00 +0000 (21:41 +0000)]
Merge "Add option for duplicate classes check to return all dupes."

7 years agoART: Move trampoline logging to -verbose:dex
Andreas Gampe [Tue, 11 Apr 2017 20:50:23 +0000 (13:50 -0700)]
ART: Move trampoline logging to -verbose:dex

Move invoke logging to VLOG(dex).

Bug: 37158297
Test: m test-art-host
Change-Id: Ib29b3920e8f227395b99a9ed65de5ca10c737cc0

7 years agoART: Add -verbose:dex
Andreas Gampe [Tue, 11 Apr 2017 20:48:37 +0000 (13:48 -0700)]
ART: Add -verbose:dex

Add a dex verbose flag to separate out concerns for dex investigations.

Bug: 37158297
Test: m test-art-host
Change-Id: Ice5efad919ae0b6838d44e2f3711563a0774ef0e

7 years agoMerge "Fix bug in vectorization of charAt, with regression test"
Treehugger Robot [Tue, 11 Apr 2017 19:46:48 +0000 (19:46 +0000)]
Merge "Fix bug in vectorization of charAt, with regression test"

7 years agoMerge "optimizing: do not illegally remove constructor barriers after inlining"
Igor Murashkin [Tue, 11 Apr 2017 18:39:59 +0000 (18:39 +0000)]
Merge "optimizing: do not illegally remove constructor barriers after inlining"

7 years agoMerge "target_config: add art-test-javac target"
Igor Murashkin [Tue, 11 Apr 2017 18:03:36 +0000 (18:03 +0000)]
Merge "target_config: add art-test-javac target"

7 years agoFix bug in vectorization of charAt, with regression test
Aart Bik [Tue, 11 Apr 2017 17:15:44 +0000 (10:15 -0700)]
Fix bug in vectorization of charAt, with regression test

Rationale:
String array get instruction cannot be vectorized
in a straightforward way, since compression has
to be dealt with. So rejected for now.

Test: test-art-target, test-art-host
Bug: 37151445
Change-Id: I16112cb8b1be30babd8ec07af5976db0369f8c28

7 years agoMerge "Don't add Jack dependencies when building without Jack"
Colin Cross [Tue, 11 Apr 2017 16:39:19 +0000 (16:39 +0000)]
Merge "Don't add Jack dependencies when building without Jack"

7 years agoDon't add Jack dependencies when building without Jack
Colin Cross [Tue, 11 Apr 2017 02:04:59 +0000 (19:04 -0700)]
Don't add Jack dependencies when building without Jack

Runtests add dependencies on the core library classes.jack files,
which don't exist when compiling with javac.  Disable the dependencies
when building without Jack for now.

Test: m -j ANDROID_COMPILE_WITH_JACK=false tests
Change-Id: I40925c8c8536cc048e7308e6202db420154a18aa

7 years agoMerge "Add checker part of test, fix intrinsic copying"
Aart Bik [Tue, 11 Apr 2017 15:57:31 +0000 (15:57 +0000)]
Merge "Add checker part of test, fix intrinsic copying"

7 years agoMerge "Remove some obsolete TODO comments."
Treehugger Robot [Tue, 11 Apr 2017 15:41:29 +0000 (15:41 +0000)]
Merge "Remove some obsolete TODO comments."

7 years agoMerge "ART: Expose jni_binder's FindClass"
Treehugger Robot [Tue, 11 Apr 2017 15:40:59 +0000 (15:40 +0000)]
Merge "ART: Expose jni_binder's FindClass"

7 years agoAdd an 'art-preopt' test target configuration.
Richard Uhler [Tue, 11 Apr 2017 09:22:30 +0000 (10:22 +0100)]
Add an 'art-preopt' test target configuration.

To test the common case of running preopted apps, which are
precompiled pic against an unrelocated image then used with a
relocated image.

Bug: 33192586
Test: run_build_test_target.py art-preopt
Change-Id: Iababf267b90c63afa137f16a85c78a362de4626a

7 years agoMerge "ART: Package expected run-test results with jvmti Java library"
Treehugger Robot [Tue, 11 Apr 2017 04:24:20 +0000 (04:24 +0000)]
Merge "ART: Package expected run-test results with jvmti Java library"

7 years agoART: Expose jni_binder's FindClass
Andreas Gampe [Tue, 11 Apr 2017 04:09:13 +0000 (21:09 -0700)]
ART: Expose jni_binder's FindClass

Required for the CTS agent.

Bug: 32072923
Test: m test-art-host
Change-Id: I37764b0646fdb0df7ec9dd544d1dffdc909e269b

7 years agoART: Package expected run-test results with jvmti Java library
Andreas Gampe [Mon, 10 Apr 2017 17:41:26 +0000 (10:41 -0700)]
ART: Package expected run-test results with jvmti Java library

Include the JVMTI Java library Makefile to make it buildable.

Include expected.txt files in the form of results.{NR}.expected.txt.
This is the best we can do with the current restrictions of
LOCAL_JAVA_RESOURCE_DIRS/FILES.

Bug: 32072923
Test: mmma art
Change-Id: Ie96ef38b50d523b9d3e31978216e9ec6d8c955f5

7 years agoAdd checker part of test, fix intrinsic copying
Aart Bik [Mon, 10 Apr 2017 20:15:57 +0000 (13:15 -0700)]
Add checker part of test, fix intrinsic copying

Rationale:
I forgot to add the check test part of this test,
and incidentally found an omission: intrinsic
information should be set in the scalar loop
(to get best code there too, not just a lib call).

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

7 years agoMerge "Revert "Avoid JNI usage error when JNI_OnLoad throws""
Treehugger Robot [Mon, 10 Apr 2017 22:05:24 +0000 (22:05 +0000)]
Merge "Revert "Avoid JNI usage error when JNI_OnLoad throws""

7 years agooptimizing: do not illegally remove constructor barriers after inlining
Igor Murashkin [Thu, 6 Apr 2017 21:40:08 +0000 (14:40 -0700)]
optimizing: do not illegally remove constructor barriers after inlining

Remove the illegal optimization that destroyed constructor barriers
after inlining invoke-super constructor calls.

---

According to JLS 7.5.1,

"Note that if one constructor invokes another constructor, and the
invoked constructor sets a final field, the freeze for the final field
takes place at the end of the invoked constructor."

This means if an object is published (stored to a location potentially
visible to another thread) inside of an outer constructor, all final
field stores from any inner constructors must be visible to other
threads.

Test: art/test.py
Bug: 37001605
Change-Id: I3b55f6c628ff1773dab88022a6475d50a1a6f906

7 years agoRevert "Avoid JNI usage error when JNI_OnLoad throws"
Igor Murashkin [Mon, 10 Apr 2017 20:34:29 +0000 (20:34 +0000)]
Revert "Avoid JNI usage error when JNI_OnLoad throws"

This reverts commit d111f90a386f7bad1474189390fce7a8d1ff1ab5.

Change-Id: Ia8461946088644e41e0f2e14d7e806a70dec41ab

7 years agotarget_config: add art-test-javac target
Igor Murashkin [Mon, 10 Apr 2017 20:13:55 +0000 (13:13 -0700)]
target_config: add art-test-javac target

Effectively runs the same commands as:
  ANDROID_COMPILE_WITH_JACK=false make test-art-host

This builds libcore/art with javac/dx/desugar, then runs the gtests
and run-tests for it.

(It does not yet fix run-test to use javac everywhere. That will be a
follow-up change).

Bug: 36902714
Change-Id: Ibd226efcfe78c795474f98d69f513648cff5351a

7 years agoMerge "testrunner/env.py - Run from any directory"
Treehugger Robot [Mon, 10 Apr 2017 19:05:18 +0000 (19:05 +0000)]
Merge "testrunner/env.py - Run from any directory"

7 years agoMerge "Avoid JNI usage error when JNI_OnLoad throws"
Treehugger Robot [Mon, 10 Apr 2017 17:47:30 +0000 (17:47 +0000)]
Merge "Avoid JNI usage error when JNI_OnLoad throws"

7 years agoMIPS: Use Lsa/Dlsa when possible.
Chris Larsen [Fri, 31 Mar 2017 22:26:54 +0000 (15:26 -0700)]
MIPS: Use Lsa/Dlsa when possible.

For MIPS32R6 replace instances of "sll/addu" to calculate the
address of an item in an array with "lsa". For other versions of
MIPS32 use the "sll/addu" sequence. Encapsulate this logic in an
assembler method to eliminate having a lot of statements like
"if (IsR6()) { ... } else { ... }" scattered throughout the code.

MIPS64 always supports R6. This means that all instances of
"dsll/daddu" used to calculate the address of an item in an array
can be replaced by "dlsa" so there is no need to encapsulate
conditional logic in a special method. The code can just emit
"dlsa" directly.

Test: mma -j2 ART_TEST_OPTIMIZING=true test-art-target-run-test
Tested on MIPS32, and MIPS64 QEMU.
Test: "make test-art-target-gtest32" on CI20 board.
Test: "cd art; test/testrunner/testrunner.py --target --optimizing --32"
      on CI20 board.

Change-Id: Ibe5facc1bc2a6a7a6584e23d3a48e163ae38077d

7 years agoRemove some obsolete TODO comments.
Alex Light [Mon, 10 Apr 2017 17:10:10 +0000 (10:10 -0700)]
Remove some obsolete TODO comments.

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

Bug: 31455788
Change-Id: I66ebf053a8eb454a32905f5f5bd5be1fb1d2cc3c

7 years agotestrunner/env.py - Run from any directory
Igor Murashkin [Mon, 3 Apr 2017 21:33:22 +0000 (14:33 -0700)]
testrunner/env.py - Run from any directory

env.py will calculate ANDROID_BUILD_TOP relative to where its located,
if it wasn't already set.

This enables 'run_build_test_target' to successfully run even if
build/envsetup.sh was not run first.

(also rename env.py's members to have the private naming convention,
as they are not meant to be exposed to other modules)

Change-Id: I236c6005d56fa1a155c6eb104936e3e010a169de

7 years agoMerge "Fix dexdiag start end address"
David Sehr [Mon, 10 Apr 2017 16:02:32 +0000 (16:02 +0000)]
Merge "Fix dexdiag start end address"

7 years agoMerge changes from topic 'more_jvmti_run-test_refactor_java_side'
Treehugger Robot [Mon, 10 Apr 2017 15:55:39 +0000 (15:55 +0000)]
Merge changes from topic 'more_jvmti_run-test_refactor_java_side'

* changes:
  ART: More refactor for JVMTI run tests (3/3)
  ART: More refactor for JVMTI run tests (2/3)
  ART: More refactor for JVMTI run tests (1/3)
  ART: Add JVMTI test shim

7 years agoARM64: Support vectorization for double and long.
Artem Serov [Wed, 5 Apr 2017 10:31:19 +0000 (11:31 +0100)]
ARM64: Support vectorization for double and long.

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

7 years agoARM64: Support 128-bit registers for SIMD.
Artem Serov [Mon, 3 Apr 2017 17:47:32 +0000 (18:47 +0100)]
ARM64: Support 128-bit registers for SIMD.

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

Change-Id: Ifb931a99d34ea77602a0e0781040ed092de9faaa

7 years agoAdd option for duplicate classes check to return all dupes.
Jeff Hao [Fri, 7 Apr 2017 23:28:12 +0000 (16:28 -0700)]
Add option for duplicate classes check to return all dupes.

When verbose oat is enabled, duplicate classes check will not stop at
the first duplicate found, outputting all duplicates found.
Can be enabled via: adb shell setprop dalvik.vm.extra-opts -verbose:oat

Test: mm test-art-host
Change-Id: If1cd55e2ad18fa4bb12d9237e18735ee0f89840b

7 years agoMerge "Change dump-classes profman option to dump-classes-and-methods"
Treehugger Robot [Sat, 8 Apr 2017 01:19:27 +0000 (01:19 +0000)]
Merge "Change dump-classes profman option to dump-classes-and-methods"

7 years agoMerge "Fixed missing context while detecting unit strides."
Treehugger Robot [Sat, 8 Apr 2017 00:46:55 +0000 (00:46 +0000)]
Merge "Fixed missing context while detecting unit strides."

7 years agoFix dexdiag start end address
David Sehr [Fri, 7 Apr 2017 23:56:46 +0000 (16:56 -0700)]
Fix dexdiag start end address

The end address was computed incorrectly due to a mix-up between pages
and addresses.

Bug: 35800981
Test: dexdiag -s `pid zygote`
Change-Id: I25d6c4b9a1e5395dc05b276111d9ec63c45951e0

7 years agoAvoid JNI usage error when JNI_OnLoad throws
Daniel Colascione [Fri, 24 Feb 2017 04:30:00 +0000 (20:30 -0800)]
Avoid JNI usage error when JNI_OnLoad throws

Test: included
Change-Id: I534de714fad2cfb9b53d66da11ade0e5142cb819

7 years agoMerge "Free unneeded obsolete maps"
Treehugger Robot [Fri, 7 Apr 2017 23:33:06 +0000 (23:33 +0000)]
Merge "Free unneeded obsolete maps"

7 years agoChange dump-classes profman option to dump-classes-and-methods
Mathieu Chartier [Thu, 6 Apr 2017 20:55:46 +0000 (13:55 -0700)]
Change dump-classes profman option to dump-classes-and-methods

The new option is called "--dump-classes-and-methods". This option
dumps methods and classes in the profile as a format that is valid
input for the "--create-profile-from" option.

The goal is to be able to store text based profiles that don't
depend on dex indices or checksums.

Test: mm test-art-host-gtest-profile_assistant_test -j40

Bug: 36457259
Bug: 34927277

(cherry picked from commit 09f6c36c0c5ac055bbb5e36991ab60156be1fb46)

Change-Id: I79c4bd8da5c0b4dc9c4c6daed538845792f52299

7 years agoFixed missing context while detecting unit strides.
Aart Bik [Fri, 7 Apr 2017 18:33:37 +0000 (11:33 -0700)]
Fixed missing context while detecting unit strides.

With regression test (found by fuzz testing).

Bug: 37033123
Test: test-art-target
Change-Id: Id738b2a3a353985c3d0bf3beeb581a31f1fcbc3f

7 years agoFree unneeded obsolete maps
Alex Light [Fri, 7 Apr 2017 17:38:06 +0000 (10:38 -0700)]
Free unneeded obsolete maps

In cases where there are no new obsolete methods we can get rid of the
obsolete maps arrays.

Bug: 31455788

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

Change-Id: I4a8cd96b4293439c6e67d9426011b92125cc7b03

7 years agoMerge "Update NativeBridge interface in ART test"
Treehugger Robot [Fri, 7 Apr 2017 21:46:14 +0000 (21:46 +0000)]
Merge "Update NativeBridge interface in ART test"

7 years agoART: More refactor for JVMTI run tests (3/3)
Andreas Gampe [Fri, 7 Apr 2017 16:36:06 +0000 (09:36 -0700)]
ART: More refactor for JVMTI run tests (3/3)

Add missing Main classes.

Bug: 32072923
Test: m test-art-host
Change-Id: I600dd5563e44604bd7b61c7d381f0a7d92db278a

7 years agoART: More refactor for JVMTI run tests (2/3)
Andreas Gampe [Fri, 7 Apr 2017 16:18:45 +0000 (09:18 -0700)]
ART: More refactor for JVMTI run tests (2/3)

Move refactored tests into their final places. Add a host java
library that includes those test files.

This is a follow-up to CL I740731c3af793521c5a859ef4a1f0ae94d2e1c19
and must be used together with it.

Bug: 32072923
Test: None
Change-Id: I20b6070eb6bdd4b7a0bf42046302bafa10eee54f

7 years agoART: More refactor for JVMTI run tests (1/3)
Andreas Gampe [Fri, 7 Apr 2017 16:00:04 +0000 (09:00 -0700)]
ART: More refactor for JVMTI run tests (1/3)

Put (most) tests into a new package and give them dedicated
class names (Test9XY).

NOTE: BROKEN WITHOUT A FOLLOW-UP CL TO CHANGE DIRECTORY STRUCTURE
      AND FILE NAMES!

Bug: 32072923
Test: None
Change-Id: I291b0543f7782914e446a74f0d9037020c88e5b5

7 years agoART: Add JVMTI test shim
Andreas Gampe [Fri, 7 Apr 2017 16:28:48 +0000 (09:28 -0700)]
ART: Add JVMTI test shim

Add shim to expose basic native binding methods.

Bug: 32072923
Test: m test-art-host
Change-Id: Ifcb9e3f66fce8002dd7d5ecb4de1729ab8939d0d

7 years agoMerge "MIPS64: Fix Math.ceil/floor intrinsics"
Treehugger Robot [Fri, 7 Apr 2017 15:01:50 +0000 (15:01 +0000)]
Merge "MIPS64: Fix Math.ceil/floor intrinsics"

7 years agoMerge "ARM64: Saves 128-bit regs state along SuspendCheckSlowPath."
Aart Bik [Fri, 7 Apr 2017 14:28:47 +0000 (14:28 +0000)]
Merge "ARM64: Saves 128-bit regs state along SuspendCheckSlowPath."

7 years agoMIPS64: Fix Math.ceil/floor intrinsics
Goran Jakovljevic [Fri, 7 Apr 2017 09:18:59 +0000 (11:18 +0200)]
MIPS64: Fix Math.ceil/floor intrinsics

The latest MIPS64R6 emulator supports NAN2008 standard. When
FCSR.NAN2008=1 (required from R6) ceil.l.d and floor.l.d instructions
will return -2^63 when the input value is smaller than -2^63. This
wasn't the case when FCSR.NAN2008=0. In that case, result from the
instructions was 2^63-1 when the input value was smaller than -2^63.

This fixes test 082-inline-execute.

Test: ./testrunner.py --target --optimizing --64 -j1 (in QEMU)

Change-Id: I3d2cdd1d55b3694549f88f4f5b903a0c4f1c0d09

7 years agoMerge "IWYU fixes for sigchainlib/sigchain.cc"
Treehugger Robot [Fri, 7 Apr 2017 01:01:26 +0000 (01:01 +0000)]
Merge "IWYU fixes for sigchainlib/sigchain.cc"

7 years agoMerge "ART: Report array and proxy classes in ClassLoad & ClassPrepare"
Treehugger Robot [Thu, 6 Apr 2017 21:59:45 +0000 (21:59 +0000)]
Merge "ART: Report array and proxy classes in ClassLoad & ClassPrepare"

7 years agoMerge "Force save profiles for SIGUSR1"
Mathieu Chartier [Thu, 6 Apr 2017 21:43:47 +0000 (21:43 +0000)]
Merge "Force save profiles for SIGUSR1"

7 years agoIWYU fixes for sigchainlib/sigchain.cc
Luis Hector Chavez [Thu, 6 Apr 2017 21:18:09 +0000 (14:18 -0700)]
IWYU fixes for sigchainlib/sigchain.cc

This change adds the necessary headers for std::initializer_list, errno,
and strerror.

Bug: None
Test: m
Change-Id: I9b97635f378a205604c75601cddd6f87883cdb4b

7 years agoMerge "Fixup JDWP for obsolete methods"
Treehugger Robot [Thu, 6 Apr 2017 20:50:25 +0000 (20:50 +0000)]
Merge "Fixup JDWP for obsolete methods"

7 years agoMerge "Fix a few comments in vectorization code that were incorrect or incomplete."
Treehugger Robot [Thu, 6 Apr 2017 18:53:56 +0000 (18:53 +0000)]
Merge "Fix a few comments in vectorization code that were incorrect or incomplete."

7 years agoART: Report array and proxy classes in ClassLoad & ClassPrepare
Andreas Gampe [Thu, 6 Apr 2017 15:03:32 +0000 (08:03 -0700)]
ART: Report array and proxy classes in ClassLoad & ClassPrepare

We need to report ClassLoad and ClassPrepare events when proxy
classes are created.

We also generate ClassLoad and ClassPrepare events to match the
VmObjectAlloc for arrays.

Bug: 31684920
Test: art/test.py --host -r -t 912
Change-Id: I66901a9d7ff8c1f60f075dfbdd3a28d00ab60bdc

7 years agoMerge "CHA: Don't return a non resolved class to the inliner."
Treehugger Robot [Thu, 6 Apr 2017 17:44:07 +0000 (17:44 +0000)]
Merge "CHA: Don't return a non resolved class to the inliner."

7 years agoFixup JDWP for obsolete methods
Alex Light [Thu, 6 Apr 2017 17:10:51 +0000 (10:10 -0700)]
Fixup JDWP for obsolete methods

We needed to implement some additional methods and behaviors in JDWP
in order to support JVMTI obsolete methods.

Test: Manual (using art/test/915-obsolete-2 & jdb debugger)
Test: Manual (using art/test/915-obsolete-2 & Android Studio/IntelliJ debugger)

Bug: 31455788

Change-Id: I20c2fa27a2dd002e37526b126f23ce552f19e623

7 years agoFix a few comments in vectorization code that were incorrect or incomplete.
Aart Bik [Thu, 6 Apr 2017 16:59:06 +0000 (09:59 -0700)]
Fix a few comments in vectorization code that were incorrect or incomplete.

Test: test-art-target
Change-Id: I7c6a5a2d29edd0b2782abc303d8d8cb09c1c2f91

7 years agoForce save profiles for SIGUSR1
Mathieu Chartier [Thu, 6 Apr 2017 00:23:54 +0000 (17:23 -0700)]
Force save profiles for SIGUSR1

Force save profiles from signal catcher for SIGUSR1. Saving the
profiles is expensive but we already do a GC which is also expensive
for this signal.

Test: adb shell ls -l /data/misc/profiles/cur/1000/system_server/
Test: adb shell kill -s SIGUSR1 `pid system_server`
Test: adb shell ls -l /data/misc/profiles/cur/1000/system_server/

Bug: 36457259
Bug: 34927277

(cherry picked from commit 8f23d97af3b10ae56fb16d63fd2932098dac45c0)

Change-Id: I810b66a7fe4b06efc7468d65ac737d74c5669abe

7 years agoARM64: Saves 128-bit regs state along SuspendCheckSlowPath.
Artem Serov [Tue, 4 Apr 2017 14:44:09 +0000 (15:44 +0100)]
ARM64: Saves 128-bit regs state along SuspendCheckSlowPath.

We need to save 128 bits of data (default ABI of ART runtime
only saves 64 bits). Note that this is *only* done for Q-registers
that are live, so overhead is not too big.

Test: test-art-target, test-art-host.
Change-Id: I1f018a708c316f9d426db13b2e3b3071aa4c999b

7 years agoMerge "Revert "Blacklist libcore tests relying on libjavacoretests.""
Nicolas Geoffray [Thu, 6 Apr 2017 15:11:17 +0000 (15:11 +0000)]
Merge "Revert "Blacklist libcore tests relying on libjavacoretests.""