OSDN Git Service

android-x86/art.git
7 years agoMerge "Fix memory leak in oat file assistant test."
Richard Uhler [Wed, 1 Feb 2017 13:10:19 +0000 (13:10 +0000)]
Merge "Fix memory leak in oat file assistant test."

7 years agoFix memory leak in oat file assistant test.
Richard Uhler [Wed, 1 Feb 2017 12:54:23 +0000 (12:54 +0000)]
Fix memory leak in oat file assistant test.

Test: oat_file_assistant_test
Bug: 34339100
Change-Id: I147cb84a8448ce6b8bec3e6e21603eb1dd45e409

7 years agoMerge changes I1ab9ec9f,I0fe01760
Richard Uhler [Wed, 1 Feb 2017 09:10:27 +0000 (09:10 +0000)]
Merge changes I1ab9ec9f,I0fe01760

* changes:
  Revert^2 "OatFileAssistant: look at vdex file for IsDexOptNeeded"
  Check vdex file is valid in VdexFile::Open.

7 years agoMerge "Deduplicate stack masks"
Mathieu Chartier [Tue, 31 Jan 2017 22:24:44 +0000 (22:24 +0000)]
Merge "Deduplicate stack masks"

7 years agoMerge "Force stack dump to diagnose empty checkpoint timeout."
Treehugger Robot [Tue, 31 Jan 2017 20:18:59 +0000 (20:18 +0000)]
Merge "Force stack dump to diagnose empty checkpoint timeout."

7 years agoForce stack dump to diagnose empty checkpoint timeout.
Hiroshi Yamauchi [Tue, 31 Jan 2017 18:15:08 +0000 (10:15 -0800)]
Force stack dump to diagnose empty checkpoint timeout.

Bug: 33006388
Bug: 12687968
Test: test-art-host
Change-Id: Ida149c98eeb05ca4ad8d0f7ef49228c9b45a6312

7 years agoMerge "ART: Fix GC pause reporting"
Treehugger Robot [Tue, 31 Jan 2017 18:16:48 +0000 (18:16 +0000)]
Merge "ART: Fix GC pause reporting"

7 years agoDeduplicate stack masks
David Srbecky [Fri, 18 Mar 2016 02:15:09 +0000 (02:15 +0000)]
Deduplicate stack masks

The stack masks repeat often enough so that it is worth deduplicating
them.

Oat size for a large app:
98143600 -> 96722288 (-1.44%)

Bug: 34621054

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

7 years agoMerge "Enable redefining Bootclasspath classes"
Alex Light [Tue, 31 Jan 2017 18:02:05 +0000 (18:02 +0000)]
Merge "Enable redefining Bootclasspath classes"

7 years agoMerge "Fix bug in geometric last value (found with fuzz testing)"
Aart Bik [Tue, 31 Jan 2017 17:46:01 +0000 (17:46 +0000)]
Merge "Fix bug in geometric last value (found with fuzz testing)"

7 years agoMerge "Increase timeout for no-image runs."
Nicolas Geoffray [Tue, 31 Jan 2017 17:29:11 +0000 (17:29 +0000)]
Merge "Increase timeout for no-image runs."

7 years agoMerge "Fix macOS build in ART's runtime/runtime_common.{h,cc}"
Treehugger Robot [Tue, 31 Jan 2017 16:22:48 +0000 (16:22 +0000)]
Merge "Fix macOS build in ART's runtime/runtime_common.{h,cc}"

7 years agoMerge "Handle cycles with double stack slots in ARM64 parallel moves."
Roland Levillain [Tue, 31 Jan 2017 15:52:29 +0000 (15:52 +0000)]
Merge "Handle cycles with double stack slots in ARM64 parallel moves."

7 years agoRevert^2 "OatFileAssistant: look at vdex file for IsDexOptNeeded"
Richard Uhler [Tue, 31 Jan 2017 14:02:34 +0000 (14:02 +0000)]
Revert^2 "OatFileAssistant: look at vdex file for IsDexOptNeeded"

This reverts commit ba037b121edc7259b3fa5607e6730402ce2ca61e.
Test: m test-art-host, with new oat file assistant test added.
Bug: 34339100

Change-Id: I1ab9ec9f6ec299be7b8144612b71e6054d84412c

7 years agoFix macOS build in ART's runtime/runtime_common.{h,cc}
Roland Levillain [Tue, 31 Jan 2017 14:33:16 +0000 (14:33 +0000)]
Fix macOS build in ART's runtime/runtime_common.{h,cc}

Test: mmma art (on macOS)
Bug: 32466479
Change-Id: I9996c6a495d2465a4b00affd2ef19102c815a58f

7 years agoIncrease timeout for no-image runs.
Nicolas Geoffray [Tue, 31 Jan 2017 09:13:52 +0000 (09:13 +0000)]
Increase timeout for no-image runs.

So that it has some more time to generate the boot image.

test: ART_TEST_RUN_TEST_NO_IMAGE test-art-host
Change-Id: Idf88763a760df693a44578236046e66959e4c6e5

7 years agoCheck vdex file is valid in VdexFile::Open.
Richard Uhler [Tue, 31 Jan 2017 11:27:37 +0000 (11:27 +0000)]
Check vdex file is valid in VdexFile::Open.

Test: m test-art-host, including new vdex_file_test.
Bug: 34339100
Change-Id: I0fe01760779f3876d6790a5443785a4f7289a717

7 years agoMerge "Optionally dump ART crash information to logcat when running on Android."
Roland Levillain [Tue, 31 Jan 2017 13:30:03 +0000 (13:30 +0000)]
Merge "Optionally dump ART crash information to logcat when running on Android."

7 years agoMerge "MethodHandles: Tests for additional combiners."
Narayan Kamath [Tue, 31 Jan 2017 13:25:21 +0000 (13:25 +0000)]
Merge "MethodHandles: Tests for additional combiners."

7 years agoMerge "Implement Math.rint Intrinsic for ARM32."
Treehugger Robot [Tue, 31 Jan 2017 12:36:50 +0000 (12:36 +0000)]
Merge "Implement Math.rint Intrinsic for ARM32."

7 years agoImplement Math.rint Intrinsic for ARM32.
xueliang.zhong [Wed, 20 Apr 2016 17:44:56 +0000 (18:44 +0100)]
Implement Math.rint Intrinsic for ARM32.

Test: m test-art-host
Test: m test-art-target
Test: 082-inline-execute

Change-Id: If73bcea5f9fb24942c7390c6ccbcfb012f8951c7

7 years agoART: Fix GC pause reporting
Andreas Gampe [Mon, 30 Jan 2017 21:15:26 +0000 (13:15 -0800)]
ART: Fix GC pause reporting

CC doesn't use ScopedPause normally, but that was hidden by it using
it for a debug check. Add a parameter for reporting.

Add explicit marking of the pause in CC. Currently this will conservatively
approximate pause times, as the actual pause is hidden inside ThreadList.

Clean up run-test 908.

Bug: 31684633
Test: m ART_TEST_RUN_TEST_NDEBUG=true test-art-host-run-test-908-gc-start-finish
Change-Id: Ie48af52e1225783b06e2e088c5adf3ef42fb5f64

7 years agoEnable redefining Bootclasspath classes
Alex Light [Fri, 27 Jan 2017 17:00:15 +0000 (09:00 -0800)]
Enable redefining Bootclasspath classes

Test: mma -j40 test-art-host
Change-Id: I84fff0b428fbaeaba003269614310fdab576bcd6

7 years agoMerge "Make wording of comment more precise."
Treehugger Robot [Tue, 31 Jan 2017 00:01:38 +0000 (00:01 +0000)]
Merge "Make wording of comment more precise."

7 years agoFix bug in geometric last value (found with fuzz testing)
Aart Bik [Mon, 30 Jan 2017 22:37:12 +0000 (14:37 -0800)]
Fix bug in geometric last value (found with fuzz testing)

Rationale:
When power computation overflows, div should use 0 while mul should
use truncated version. Both cases were incorrectly using the latter.

Test: test-art-host
Bug: 34779592
Change-Id: I9eb8e1280c58b09d57886128f4df4541c143afaa

7 years agoMerge "MIPS32R6: Improve PC-relative string/class loads and invokes."
Treehugger Robot [Mon, 30 Jan 2017 22:36:33 +0000 (22:36 +0000)]
Merge "MIPS32R6: Improve PC-relative string/class loads and invokes."

7 years agoMake wording of comment more precise.
Alex Light [Mon, 30 Jan 2017 22:15:54 +0000 (14:15 -0800)]
Make wording of comment more precise.

Test: mma -j40 test-art-host
Change-Id: I2501d183669d2981f230876366e472acbe02cfb4

7 years agoMerge "Remove Deoptimization code from class transformation."
Treehugger Robot [Mon, 30 Jan 2017 22:02:04 +0000 (22:02 +0000)]
Merge "Remove Deoptimization code from class transformation."

7 years agoMerge "Add to time to suspend in FlipThreadRoots to histogram"
Mathieu Chartier [Mon, 30 Jan 2017 21:42:32 +0000 (21:42 +0000)]
Merge "Add to time to suspend in FlipThreadRoots to histogram"

7 years agoMerge "Revert "Revert "Make --debuggable rely on JIT code."""
Nicolas Geoffray [Mon, 30 Jan 2017 20:56:11 +0000 (20:56 +0000)]
Merge "Revert "Revert "Make --debuggable rely on JIT code."""

7 years agoMerge "Blacklist test now that debuggable means JIT."
Nicolas Geoffray [Mon, 30 Jan 2017 20:55:17 +0000 (20:55 +0000)]
Merge "Blacklist test now that debuggable means JIT."

7 years agoRevert "Revert "Make --debuggable rely on JIT code.""
Nicolas Geoffray [Mon, 30 Jan 2017 20:54:45 +0000 (20:54 +0000)]
Revert "Revert "Make --debuggable rely on JIT code.""

Fixed by https://android-review.googlesource.com/#/c/330165/

This reverts commit 81356645157af44152c7b7db383596b5cf3479b5.

Change-Id: Ifb74e1cc90ab6dea621f7f54a00b540d6ccd0cf6

7 years agoMerge "Print to System.err in test 909 to avoid output races."
Treehugger Robot [Mon, 30 Jan 2017 20:22:01 +0000 (20:22 +0000)]
Merge "Print to System.err in test 909 to avoid output races."

7 years agoMerge "Revert "Make --debuggable rely on JIT code.""
Vladimir Marko [Mon, 30 Jan 2017 20:20:19 +0000 (20:20 +0000)]
Merge "Revert "Make --debuggable rely on JIT code.""

7 years agoRevert "Make --debuggable rely on JIT code."
Vladimir Marko [Mon, 30 Jan 2017 20:18:02 +0000 (20:18 +0000)]
Revert "Make --debuggable rely on JIT code."

Breaks 137-cfi with ART_TEST_RUN_TEST_DEBUGGABLE=true

This reverts commit a0619e25aacf8b8074132f4951f75fdbcfd42925.

bug: 28769520
Change-Id: Ifd7b8fc7c9b72c0a523fd57c4b1b80edd3547caa

7 years agoRemove Deoptimization code from class transformation.
Alex Light [Fri, 27 Jan 2017 18:26:49 +0000 (10:26 -0800)]
Remove Deoptimization code from class transformation.

Since we removed the current_method from the compiled code we don't
need to deoptimize all frames anymore.

This is a partial revert of commit dba614810.

Bug: 32369913
Bug: 33630159

Test: ART_TEST_TRACE=true \
      ART_TEST_JIT=true   \
      ART_TEST_INTERPRETER=true mma -j40 test-art-host

Change-Id: I44a6dd89e1d96bd8c82c2c24a2f42fef023a80be

7 years agoMerge "Merge layout-speed compiler filter into speed-profile."
Treehugger Robot [Mon, 30 Jan 2017 19:04:14 +0000 (19:04 +0000)]
Merge "Merge layout-speed compiler filter into speed-profile."

7 years agoPrint to System.err in test 909 to avoid output races.
Vladimir Marko [Mon, 30 Jan 2017 18:31:53 +0000 (18:31 +0000)]
Print to System.err in test 909 to avoid output races.

Throwable.printStackTrace() prints to System.err, so print
all other output to System.err as well to avoid races like

    #################### info
    # Tests jvmti plugin attaching during live phase.
    #################### diffs
    --- expected.txt 2017-01-13 18:22:13.897224469 +0000
    +++ output.txt 2017-01-30 17:51:21.091550290 +0000
    @@ -6,6 +6,6 @@
     Goodbye!
     Hello, world!
     java.io.IOException: Process is not debuggable.
    +Goodbye!
      at dalvik.system.VMDebug.attachAgent(Native Method)
      at Main.main(Main.java:27)
    -Goodbye!
    ####################

Test: m test-art-host-run-test-909-attach-agent
Change-Id: I956bd24db056154b938568c156df80d4ff56ba11

7 years agoOptionally dump ART crash information to logcat when running on Android.
Roland Levillain [Thu, 19 Jan 2017 20:04:27 +0000 (20:04 +0000)]
Optionally dump ART crash information to logcat when running on Android.

This logging feature does not use debuggerd.  It is only
enabled when the environment variable ANDROID_ROOT is set
to something different than "/system".

Also, refactor runtime/runtime_android.cc and
runtime/runtime_linux.cc.

Test: Observe device logcat when dalvikvm crashes
Bug: 32466479
Change-Id: If59ce838fdb5b9bb6638b73fcd074b7065275c6c

7 years agoMIPS32R6: Improve PC-relative string/class loads and invokes.
Alexey Frunze [Wed, 4 Jan 2017 01:11:38 +0000 (17:11 -0800)]
MIPS32R6: Improve PC-relative string/class loads and invokes.

Use PC-relative addressing on MIPS32R6 instead of
HMipsDexCacheArraysBase and allow such PC-relative
addressing in presence of irreducible loops.

Also save a couple of instructions when handling
string and class loads from bss.

Test: test-art-host-gtest
Test: booted MIPS32R2 in QEMU
Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=true
       ART_TEST_INTERPRETER=false ART_TEST_JIT=false
       ART_TEST_PIC_TEST=true test-art-target-run-test"
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=true
       ART_TEST_INTERPRETER=false ART_TEST_JIT=false
       ART_TEST_PIC_TEST=true test-art-target-run-test32"

Change-Id: I5d0fcbf271541294a3d4479987d52e2aaff084d9

7 years agoBlacklist test now that debuggable means JIT.
Nicolas Geoffray [Mon, 30 Jan 2017 17:00:07 +0000 (17:00 +0000)]
Blacklist test now that debuggable means JIT.

Change-Id: I658dea8e2b7327ad9631edfe62b45a0c7fcfc845

7 years agoMerge "Make --debuggable rely on JIT code."
Nicolas Geoffray [Mon, 30 Jan 2017 15:09:44 +0000 (15:09 +0000)]
Merge "Make --debuggable rely on JIT code."

7 years agoMerge "Add ART_TEST_RUN_TEST_IMAGE."
Treehugger Robot [Mon, 30 Jan 2017 14:51:41 +0000 (14:51 +0000)]
Merge "Add ART_TEST_RUN_TEST_IMAGE."

7 years agoHandle cycles with double stack slots in ARM64 parallel moves.
Roland Levillain [Fri, 27 Jan 2017 19:40:44 +0000 (19:40 +0000)]
Handle cycles with double stack slots in ARM64 parallel moves.

When acquiring a scratch register to emit a move between two
double stack slots, ask for a FP register first, to avoid
depleting the core scratch register pool, which is used in
vixl::aarch64::MacroAssembler::LoadStoreMacro when the
offset does not fit in the immediate field of the load
instruction.

Test: make test-art-target (on ARM64)
Bug: 34760542
Change-Id: Ie9b37d007ed6ec5886931a35dcb22a9aff73bbbe

7 years agoMerge "MIPS: Refactor code for unresolved field entrypoint."
Treehugger Robot [Mon, 30 Jan 2017 13:11:02 +0000 (13:11 +0000)]
Merge "MIPS: Refactor code for unresolved field entrypoint."

7 years agoMerge "Hash-based dex cache type array."
Vladimir Marko [Mon, 30 Jan 2017 12:43:39 +0000 (12:43 +0000)]
Merge "Hash-based dex cache type array."

7 years agoMake --debuggable rely on JIT code.
Nicolas Geoffray [Tue, 20 Dec 2016 13:57:43 +0000 (13:57 +0000)]
Make --debuggable rely on JIT code.

Removes -Xfully-deoptable in the process, which was added as a
temporary workaround until this CL.
Partial revert of https://android-review.googlesource.com/#/c/302232/

Makes things consistent with existing infrastructure:

- Parse the --debuggable from the compiler options, just like
  --compiler-filter.

- Add DEBUG_JAVA_DEBUGGABLE, passed by the zygote, for debuggable apps.

- Java debuggable now solely relies on JIT for simplicity.

- Debugging under userdebug for non-java-debuggable apps is still
  best effort.

Test: test-art-host, jdwp

bug: 28769520
Change-Id: Id0593aacd85b9780da97f20914a50943957c858f

7 years agoAdd ART_TEST_RUN_TEST_IMAGE.
Nicolas Geoffray [Mon, 30 Jan 2017 12:35:50 +0000 (12:35 +0000)]
Add ART_TEST_RUN_TEST_IMAGE.

To prepare disabling this run on the no-image bot config.

Change-Id: Iebd51761ebde42d07beb7ecce3b84e738d03afe3

7 years agoHash-based dex cache type array.
Vladimir Marko [Tue, 20 Dec 2016 16:24:13 +0000 (16:24 +0000)]
Hash-based dex cache type array.

Test: m test-art-host (Interpreter, Optimizing, JIT)
Test: m test-art-target on Nexus 6P (Interpreter, Optimizing, JIT)
Test: Nexus 6P boots
Test: m valgrind-test-art-host
Bug: 30627598
Bug: 34659969
Bug: 30419309
Change-Id: Ic00eda89e58088a3573fc9ec0ad04c0e69e161d1

7 years agoMerge "Make no-relocate the default."
Nicolas Geoffray [Mon, 30 Jan 2017 09:05:00 +0000 (09:05 +0000)]
Merge "Make no-relocate the default."

7 years agoMerge "Revert "ART: Give JIT thread pool workers a peer""
Treehugger Robot [Sat, 28 Jan 2017 04:41:10 +0000 (04:41 +0000)]
Merge "Revert "ART: Give JIT thread pool workers a peer""

7 years agoRevert "ART: Give JIT thread pool workers a peer"
Andreas Gampe [Sat, 28 Jan 2017 02:35:31 +0000 (02:35 +0000)]
Revert "ART: Give JIT thread pool workers a peer"

This reverts commit 1ee6dd71e1b9e51e15aae4d3bc95d799f11dbd04.

Has unintended consequences that need to be discussed.

Bug: 31684920
Change-Id: If0ff1b5d7473f98cb3a0efc3b4bb2c0f96ad684d

7 years agoMerge "ART: Give JIT thread pool workers a peer"
Treehugger Robot [Sat, 28 Jan 2017 00:51:55 +0000 (00:51 +0000)]
Merge "ART: Give JIT thread pool workers a peer"

7 years agoMerge "ART: Add ThreadPool mode that creates peers"
Treehugger Robot [Sat, 28 Jan 2017 00:16:59 +0000 (00:16 +0000)]
Merge "ART: Add ThreadPool mode that creates peers"

7 years agoMerge "Make run-test --jvm set DEX_LOCATION"
Treehugger Robot [Sat, 28 Jan 2017 00:08:24 +0000 (00:08 +0000)]
Merge "Make run-test --jvm set DEX_LOCATION"

7 years agoAdd to time to suspend in FlipThreadRoots to histogram
Mathieu Chartier [Fri, 27 Jan 2017 23:22:56 +0000 (15:22 -0800)]
Add to time to suspend in FlipThreadRoots to histogram

Add the time to suspend to the suspend_all_historam_ to determine if
GC pauses are caused by GC or bad mutator activity.

Also exclude ThreadFlipBegin time being counted as paused since it
happens before threads are suspended.

Test: test-art-host

Change-Id: Ia55db0ebbdc7ba6f23d7212c0e42c7806b297c2b

7 years agoMerge "Remove alignment bits in between stack maps"
Mathieu Chartier [Fri, 27 Jan 2017 23:31:59 +0000 (23:31 +0000)]
Merge "Remove alignment bits in between stack maps"

7 years agoART: Give JIT thread pool workers a peer
Andreas Gampe [Tue, 24 Jan 2017 21:33:57 +0000 (13:33 -0800)]
ART: Give JIT thread pool workers a peer

To allow reporting those threads, give JIT pool threads a peer.
This is necessary as the compiler may load classes.

Bug: Bug: 29547798
Bug: 31684920
Test: m ART_TEST_JIT=true test-art-host
Change-Id: I7c8e44132475f38995542da76285ca3dd63c559a

7 years agoMake run-test --jvm set DEX_LOCATION
Alex Light [Fri, 27 Jan 2017 22:08:17 +0000 (14:08 -0800)]
Make run-test --jvm set DEX_LOCATION

Test: ./test/run-test --jvm 934
Change-Id: Ib8848cf4d29e1357b696e384a7943b14d8fc4a4f

7 years agoMIPS: Refactor code for unresolved field entrypoint.
Alexey Frunze [Thu, 26 Jan 2017 03:30:18 +0000 (19:30 -0800)]
MIPS: Refactor code for unresolved field entrypoint.

This is a follow-up to
https://android-review.googlesource.com/#/c/325423/.

Test: booted MIPS32R2 in QEMU
Test: test-art-target-run-test-optimizing in QEMU
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: test-art-target-run-test-optimizing
      (MIPS64R6 and MIPS32R6) in QEMU

Change-Id: Ie663ecf0489e7b182434708bef71686df5f37273

7 years agoART: Add ThreadPool mode that creates peers
Andreas Gampe [Tue, 24 Jan 2017 21:12:19 +0000 (13:12 -0800)]
ART: Add ThreadPool mode that creates peers

Add a mode where worker threads in a thread pool will get a Java
peer. Add a test.

Bug: 29547798
Bug: 31684920
Test: m test-art-host-gtest-thread_pool_test
Change-Id: I3654cc2be1294a79881b6ac9f84445a1e7f24b70

7 years agoMerge "Ensure ClassPreDefine returned dex file is on the Classpath"
Treehugger Robot [Fri, 27 Jan 2017 20:48:12 +0000 (20:48 +0000)]
Merge "Ensure ClassPreDefine returned dex file is on the Classpath"

7 years agoMerge "Avoid read barriers for ArtMethod::GetDexFile"
Mathieu Chartier [Fri, 27 Jan 2017 19:11:31 +0000 (19:11 +0000)]
Merge "Avoid read barriers for ArtMethod::GetDexFile"

7 years agoEnsure ClassPreDefine returned dex file is on the Classpath
Alex Light [Wed, 25 Jan 2017 21:02:32 +0000 (13:02 -0800)]
Ensure ClassPreDefine returned dex file is on the Classpath

Test: mma -j40 test-art-host
Change-Id: Icf70a78f3a1149d0e5bf9aa64f74f2ca8d025802

7 years agoMerge "ART: Add OnLoad system classloader search support"
Treehugger Robot [Fri, 27 Jan 2017 18:34:27 +0000 (18:34 +0000)]
Merge "ART: Add OnLoad system classloader search support"

7 years agoRemove alignment bits in between stack maps
Mathieu Chartier [Fri, 20 Jan 2017 02:00:45 +0000 (18:00 -0800)]
Remove alignment bits in between stack maps

Saves 0.65% of boot.oat size, probably similar on apps. Added
BitMemoryRegion to avoid requiring adding state to StackMap. Added
test to memory_region_test.

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

Bug: 34621054

Change-Id: I40279c59e262bd5e3c6a9135f83e22b5b6900d68

7 years agoMerge "Don't use VIXL's temp registers in LocationsBuilderARM64::HandleFieldGet."
Roland Levillain [Fri, 27 Jan 2017 16:42:57 +0000 (16:42 +0000)]
Merge "Don't use VIXL's temp registers in LocationsBuilderARM64::HandleFieldGet."

7 years agoART: Add OnLoad system classloader search support
Andreas Gampe [Mon, 23 Jan 2017 23:04:59 +0000 (15:04 -0800)]
ART: Add OnLoad system classloader search support

Add support for extension of the system classloader search path
during the OnLoad phase. Add test.

Bug: 34359699
Test: m test-art-host-run-test-936-search-onload
Change-Id: Ie0a5b4bb77999dfae87f955dde40b73ffe053b8e

7 years agoMake no-relocate the default.
Nicolas Geoffray [Fri, 27 Jan 2017 14:54:28 +0000 (14:54 +0000)]
Make no-relocate the default.

With the move to not support relocatable oat files, testing "relocate"
does not make sense anymore (the runtime would just discard the prebuild
oat file and generate a new one in dalvik-cache).

Just make no-relocate the default for now. We can remove relocation types
once Richard is done removing relocation.

Test: test-art-host test-art-target
bug:33192586

Change-Id: If39a0ad63451c68d4cfbbb26b767ad98b97d208e

7 years agoMerge "Add ARM support for `floor` and `ceil` intrinsics."
Vladimir Marko [Fri, 27 Jan 2017 15:31:27 +0000 (15:31 +0000)]
Merge "Add ARM support for `floor` and `ceil` intrinsics."

7 years agoMerge "MethodHandles: Support and tests for revealDirect / reflectAs."
Narayan Kamath [Fri, 27 Jan 2017 15:22:19 +0000 (15:22 +0000)]
Merge "MethodHandles: Support and tests for revealDirect / reflectAs."

7 years agoMerge changes from topic 'VIXL-update-270117'
Nicolas Geoffray [Fri, 27 Jan 2017 15:08:49 +0000 (15:08 +0000)]
Merge changes from topic 'VIXL-update-270117'

* changes:
  ARM: VIXL32: Keep jump table base label within range of adr.
  ARM64: VIXL: Fix breaking changes to ternary operator with Register inputs.

7 years agoMethodHandles: Tests for additional combiners.
Narayan Kamath [Thu, 26 Jan 2017 18:31:24 +0000 (18:31 +0000)]
MethodHandles: Tests for additional combiners.

This change tests:
- MethodHandles.filterArguments
- MethodHandles.collectArguments
- MethodHandles.insertArguments
- MethodHandles.foldArguments

Tracks libcore change cc8ce7297197fc7.

Test: make test-art-host

Change-Id: I214968242cd0e8a23dd6498b273db30f32f22583

7 years agoMethodHandles: Support and tests for revealDirect / reflectAs.
Narayan Kamath [Wed, 25 Jan 2017 10:46:54 +0000 (10:46 +0000)]
MethodHandles: Support and tests for revealDirect / reflectAs.

We need runtime support to materialize a Constructor, Field or
Method object from a MethodHandle and its associated ArtField
or ArtMethod pointer.

An alternate approach might be to have all handles hold a reference
to their associated Field or Method object (in addition to the
raw ArtField or ArtMethod) but that seems unnecessary given that
these APIs are not expected to be called often.

Test: test-art-host

Change-Id: I9450706b9c30359edebf2e8a7afbc8d89bd68b26

7 years agoDon't use VIXL's temp registers in LocationsBuilderARM64::HandleFieldGet.
Roland Levillain [Thu, 26 Jan 2017 19:04:23 +0000 (19:04 +0000)]
Don't use VIXL's temp registers in LocationsBuilderARM64::HandleFieldGet.

Before this CL, when emitting a volatile field load with a
large offset, it was possible to deplete the pool of VIXL
ARM64 temporary registers (IP0, IP1) in the concurrent
collector configuration.  To avoid this, we now request a
temporary register from the register allocator instead.

Test: m test-art-target-run-test-635-checker-arm64-volatile-load-cc
Bug: 34726333
Change-Id: Idf73a0306142c6133e259783aacaf7ad5401a2fd

7 years agoAdd ARM support for `floor` and `ceil` intrinsics.
Artem Serov [Fri, 6 Jan 2017 15:58:31 +0000 (15:58 +0000)]
Add ARM support for `floor` and `ceil` 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: Ia6fe41ea912e32a73d78629c616bc64ad1ecfe66

7 years agoMerge "Revert "Revert "CHA for abstract methods."""
Treehugger Robot [Fri, 27 Jan 2017 10:37:34 +0000 (10:37 +0000)]
Merge "Revert "Revert "CHA for abstract methods."""

7 years agoARM: VIXL32: Keep jump table base label within range of adr.
Scott Wakeling [Wed, 18 Jan 2017 15:59:24 +0000 (15:59 +0000)]
ARM: VIXL32: Keep jump table base label within range of adr.

Macro assembler instructions between adr and the jump table base label
could cause literal pool or veneer emission, which would push the jump
table start out of adr range. Such a large emission is highly unlikely,
but possible, so prevent this by using an ExactAssemblyScope.

Test: export ART_USE_VIXL_ARM_BACKEND=true && test-art-target
Change-Id: I46a038e452e197d73206b415376b5f2246388317

7 years agoARM64: VIXL: Fix breaking changes to ternary operator with Register inputs.
Scott Wakeling [Thu, 19 Jan 2017 14:08:42 +0000 (14:08 +0000)]
ARM64: VIXL: Fix breaking changes to ternary operator with Register inputs.

Test: mma art
Change-Id: I33d1e05e47f337f1a9271b35dba9227057cda096

7 years agoMerge "Shoot in the dark to try and fix mac build."
Nicolas Geoffray [Fri, 27 Jan 2017 10:10:20 +0000 (10:10 +0000)]
Merge "Shoot in the dark to try and fix mac build."

7 years agoShoot in the dark to try and fix mac build.
Nicolas Geoffray [Fri, 27 Jan 2017 09:56:30 +0000 (09:56 +0000)]
Shoot in the dark to try and fix mac build.

Use MACRO_LITERAL in assembly macros instead of LITERAL.

Change-Id: I9fd921e4ae59550cfcc1f573be1798ea9823a0cb

7 years agoMerge "Add per array size allocation entrypoints."
Nicolas Geoffray [Fri, 27 Jan 2017 09:31:36 +0000 (09:31 +0000)]
Merge "Add per array size allocation entrypoints."

7 years agoRevert "Revert "CHA for abstract methods.""
Mingyao Yang [Fri, 20 Jan 2017 18:43:30 +0000 (10:43 -0800)]
Revert "Revert "CHA for abstract methods.""

This reverts commit 8ebc8bf055e8bd8f6f167e65a69cf4dae136db55.

When we set the single-implementation method for an abstract method, it
need to be protected by the cha-lock.

Test: new testcase and ART_TEST_JIT=true m -j20 test-art-host-run-test
Change-Id: I66acb20ffa7e49dd9c391f001e3bb52f961872e4

7 years agoMerge "Pass the correct name to ClassFileLoadHook"
Treehugger Robot [Fri, 27 Jan 2017 06:20:17 +0000 (06:20 +0000)]
Merge "Pass the correct name to ClassFileLoadHook"

7 years agoPass the correct name to ClassFileLoadHook
Alex Light [Fri, 27 Jan 2017 01:21:51 +0000 (17:21 -0800)]
Pass the correct name to ClassFileLoadHook

We were passing the dotted name instead of the slashed one.

Test: ./test/run-test --host 937
Change-Id: I4f5f4128cd87ed3d592b7af5724554160f15bdae

7 years agoAvoid read barriers for ArtMethod::GetDexFile
Mathieu Chartier [Thu, 26 Jan 2017 22:03:11 +0000 (14:03 -0800)]
Avoid read barriers for ArtMethod::GetDexFile

Shows up in pmd benchmark from Class::FindDeclaredDirectMethod and
Class::FindDeclaredVirtualMethod. There are still calls to
IsProxyMethod that could probably be eliminated.

ReadBarrier::Mark goes from 12.39% to 3.45% according to perf.

Test: test-art-host

Change-Id: I6a4f2fa2d68bf5f393f83b9b70e8d6fcc9dbdaa2

7 years agoMerge "Re-enable tests 934 & 935"
Treehugger Robot [Fri, 27 Jan 2017 00:25:51 +0000 (00:25 +0000)]
Merge "Re-enable tests 934 & 935"

7 years agoMerge "You shall know your arm32 calling conventions."
Nicolas Geoffray [Thu, 26 Jan 2017 23:25:10 +0000 (23:25 +0000)]
Merge "You shall know your arm32 calling conventions."

7 years agoYou shall know your arm32 calling conventions.
Nicolas Geoffray [Thu, 26 Jan 2017 22:47:27 +0000 (22:47 +0000)]
You shall know your arm32 calling conventions.

64bit values are passed starting an even register.

test: ./art/test/run-test --no-relocate 529-checker-unresolved

Change-Id: Ic3012f34898702b48fdab4d7a77dfdd4c2a1d916

7 years agoRe-enable tests 934 & 935
Alex Light [Thu, 26 Jan 2017 01:44:53 +0000 (17:44 -0800)]
Re-enable tests 934 & 935

There were two issues causing problems with these tests.

1) The loading of classes could occur prior to the transformer being
   enabled. This was fixed by putting the classes under test into a
   different ClassLoader and disabling app-images.

2) DexToDex compilation was devirtualizing some calls meaning that
   reordering the methods was causing incorrect dispatch.

This reverts commit 50cc0cceb5ca0abd4fff2cb3467ea74e7590cb10.
This reverts commit e9f36b7cb42348ef5c4eb3c88bd3cfdd56390a3e.
This reverts commit 1e7e96e4a66f668255a1683b837863228489faf9.

Test: ART_TEST_INTERPRETER=true \
      ART_TEST_JIT=true \
      mma -j40 test-art-host

Test: ART_TEST_INTERPRETER_ACCESS_CHECKS=true \
      ART_TEST_RUN_TEST_NO_DEX2OAT=true \
      ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT=true \
      ART_TEST_RUN_TEST_NO_RELOCATE=true \
      mma -j40 test-art-host-run-test-934-load-transform \
               test-art-host-run-test-935-non-retransformable

Change-Id: Ia600ba37d45a5f9489b03c7f4d143849c887b8a7

7 years agoMerge "Make verify-profile not look at the profile."
Nicolas Geoffray [Thu, 26 Jan 2017 19:57:44 +0000 (19:57 +0000)]
Merge "Make verify-profile not look at the profile."

7 years agoMerge "Avoid accessing the heap without mutator lock in Monitor::Lock."
Hiroshi Yamauchi [Thu, 26 Jan 2017 18:50:14 +0000 (18:50 +0000)]
Merge "Avoid accessing the heap without mutator lock in Monitor::Lock."

7 years agoMake verify-profile not look at the profile.
Nicolas Geoffray [Wed, 25 Jan 2017 22:06:53 +0000 (22:06 +0000)]
Make verify-profile not look at the profile.

It doesn't work well with vdex. In follow-up CLs,
I'll just remove/rename  the filter.

For the record, compiling sheets on an angler:
verify-profile: dex2oat took 5.383s (6.672s cpu)
vdex: dex2oat took 1.686s (1.562s cpu)

bug: 34715556
bug: 34691602
bug: 34691854

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

7 years agoMerge "Forgot stack alignment on x86."
Nicolas Geoffray [Thu, 26 Jan 2017 16:54:12 +0000 (16:54 +0000)]
Merge "Forgot stack alignment on x86."

7 years agoForgot stack alignment on x86.
Nicolas Geoffray [Thu, 26 Jan 2017 16:24:32 +0000 (16:24 +0000)]
Forgot stack alignment on x86.

test: ART_TEST_RUN_TEST_NO_RELOCATE=true m test-art-host test-art-target
Change-Id: I1996c0d85228e5cad7bee4387260821d9d209b11

7 years agoMerge "Forgot this change from last commit."
Nicolas Geoffray [Thu, 26 Jan 2017 15:22:08 +0000 (15:22 +0000)]
Merge "Forgot this change from last commit."

7 years agoForgot this change from last commit.
Nicolas Geoffray [Thu, 26 Jan 2017 15:18:52 +0000 (15:18 +0000)]
Forgot this change from last commit.

Test: 529-checker-unresolved
Change-Id: I14b6a8d81a7a885cff36d3361f83d891e3ff9956

7 years agoMerge "ARM: Update `ArmInstructionSetFeatures` to track ARMv8-A."
Treehugger Robot [Thu, 26 Jan 2017 13:38:14 +0000 (13:38 +0000)]
Merge "ARM: Update `ArmInstructionSetFeatures` to track ARMv8-A."

7 years agoMerge "Refactor code for unresolved field entrypoint."
Nicolas Geoffray [Thu, 26 Jan 2017 12:35:06 +0000 (12:35 +0000)]
Merge "Refactor code for unresolved field entrypoint."

7 years agoMerge "Also blacklist 934 and 935 for no-relocate."
Nicolas Geoffray [Thu, 26 Jan 2017 11:57:51 +0000 (11:57 +0000)]
Merge "Also blacklist 934 and 935 for no-relocate."