OSDN Git Service

android-x86/art.git
8 years agoMerge "Move some default-methods tests to Java from Smali."
Alex Light [Thu, 3 Mar 2016 20:35:36 +0000 (20:35 +0000)]
Merge "Move some default-methods tests to Java from Smali."

8 years agoMove some default-methods tests to Java from Smali.
Alex Light [Tue, 1 Mar 2016 22:33:51 +0000 (14:33 -0800)]
Move some default-methods tests to Java from Smali.

Move all smali tests for default method behavior in
non-source-incompatible contexts to java. Also move some of the
simpler tests for source and binary incompatibilities into java as
well when possible.

Bug: 27310767

Change-Id: I753196f19849494825953c1bf06f15b7132f459b

8 years agoMerge "change image in run-jdwp-tests.sh"
Mingyao Yang [Thu, 3 Mar 2016 18:19:46 +0000 (18:19 +0000)]
Merge "change image in run-jdwp-tests.sh"

8 years agoMerge "Add a PassScope for PrepareForRegisterAllocation"
Mingyao Yang [Thu, 3 Mar 2016 18:19:13 +0000 (18:19 +0000)]
Merge "Add a PassScope for PrepareForRegisterAllocation"

8 years agoMerge "Simplify LoadNativeLibrary()"
Dimitry Ivanov [Thu, 3 Mar 2016 17:05:15 +0000 (17:05 +0000)]
Merge "Simplify LoadNativeLibrary()"

8 years agoMerge "ART: cleanup exit_block_ in graph if exit block is removed"
David Brazdil [Thu, 3 Mar 2016 11:40:15 +0000 (11:40 +0000)]
Merge "ART: cleanup exit_block_ in graph if exit block is removed"

8 years agoMerge "Ignore 145-alloc-tracking-stress run-test failures with CC."
Roland Levillain [Thu, 3 Mar 2016 11:28:41 +0000 (11:28 +0000)]
Merge "Ignore 145-alloc-tracking-stress run-test failures with CC."

8 years agoART: cleanup exit_block_ in graph if exit block is removed
Serguei Katkov [Wed, 2 Mar 2016 10:25:36 +0000 (16:25 +0600)]
ART: cleanup exit_block_ in graph if exit block is removed

If we remove the exit block from the graph (for example method
contains infinite loop) we should also clean the field exit_block_
in graph. At least inliner expects it.

Change-Id: Icda668da2233cdd6cd673635a1949f5ed34cf270
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoIgnore 145-alloc-tracking-stress run-test failures with CC.
Roland Levillain [Thu, 3 Mar 2016 10:43:21 +0000 (10:43 +0000)]
Ignore 145-alloc-tracking-stress run-test failures with CC.

This run-test sometimes fails with a timeout on ART
Builbot's x86-64 concurrent collector configuration. Disable
it to make the build turn green again, while we investigate
the failure.

Bug: 27467554
Change-Id: I0bac307ec85f197afb8763ca41a6ee50567c4d5f

8 years agoMerge "Do a TryLock when allocating a ProfilingInfo from the interpreter."
Nicolas Geoffray [Thu, 3 Mar 2016 09:26:46 +0000 (09:26 +0000)]
Merge "Do a TryLock when allocating a ProfilingInfo from the interpreter."

8 years agoAdd a PassScope for PrepareForRegisterAllocation
Mingyao Yang [Wed, 2 Mar 2016 22:59:32 +0000 (14:59 -0800)]
Add a PassScope for PrepareForRegisterAllocation

This pass does transform the graph so make it part of cfg-dumping.

Change-Id: I42e361382c85c97b974faad8bb0fcf2cb0750355

8 years agoMerge "Delete alloc tracking map outside of critical section"
Mathieu Chartier [Wed, 2 Mar 2016 22:01:28 +0000 (22:01 +0000)]
Merge "Delete alloc tracking map outside of critical section"

8 years agoDelete alloc tracking map outside of critical section
Mathieu Chartier [Wed, 2 Mar 2016 20:52:37 +0000 (12:52 -0800)]
Delete alloc tracking map outside of critical section

There can be lock order violations otherwise due to runtime shutdown
lock that may get acquired in the condition variable destructor.

Change-Id: I23cb2dfe241f5cc6c42bf6766e89042cf06069b6

8 years agochange image in run-jdwp-tests.sh
Mingyao Yang [Tue, 1 Mar 2016 22:51:52 +0000 (14:51 -0800)]
change image in run-jdwp-tests.sh

Change-Id: I305fdd5b8b33c446529fe99f872af4fb8685bd7c

8 years agoMerge "Revert "Disable test after libunwind change.""
Andreas Gampe [Wed, 2 Mar 2016 20:57:25 +0000 (20:57 +0000)]
Merge "Revert "Disable test after libunwind change.""

8 years agoRevert "Disable test after libunwind change."
Andreas Gampe [Wed, 2 Mar 2016 16:51:21 +0000 (08:51 -0800)]
Revert "Disable test after libunwind change."

This reverts commit 18047e4cd06387958d315d4de6d9c1753a08ee9e.

Moving the in-process lzma disable to libunwind allows to unwind not-zipped debug-info, again.

Bug: 27391690
Change-Id: I8c24dd0e73bc9d57ce83c6f5a8272d8252e5b809

8 years agoMerge "Disable 577-profile-foreign-dex temporarily."
Hiroshi Yamauchi [Wed, 2 Mar 2016 20:53:18 +0000 (20:53 +0000)]
Merge "Disable 577-profile-foreign-dex temporarily."

8 years agoMerge "Fast ART MIPS64 interpreter"
Bill Buzbee [Wed, 2 Mar 2016 20:17:51 +0000 (20:17 +0000)]
Merge "Fast ART MIPS64 interpreter"

8 years agoDisable 577-profile-foreign-dex temporarily.
Hiroshi Yamauchi [Wed, 2 Mar 2016 20:12:54 +0000 (12:12 -0800)]
Disable 577-profile-foreign-dex temporarily.

Until a fix arrives.

Bug: 27454772
Change-Id: Ieec219792c507ad85561a4188ec873d2f18e4604

8 years agoMerge "Clear inline caches if a ProfilingInfo gets revived."
Nicolas Geoffray [Wed, 2 Mar 2016 19:47:54 +0000 (19:47 +0000)]
Merge "Clear inline caches if a ProfilingInfo gets revived."

8 years agoMerge "Fix potential linear alloc memory leak"
Mathieu Chartier [Wed, 2 Mar 2016 19:44:29 +0000 (19:44 +0000)]
Merge "Fix potential linear alloc memory leak"

8 years agoMerge "Simplified intrinsic macro mechanism."
Aart Bik [Wed, 2 Mar 2016 18:53:45 +0000 (18:53 +0000)]
Merge "Simplified intrinsic macro mechanism."

8 years agoFix potential linear alloc memory leak
Mathieu Chartier [Wed, 2 Mar 2016 18:30:23 +0000 (10:30 -0800)]
Fix potential linear alloc memory leak

Previously, if we created a linear alloc for a class loader but
never created the class table, the linear alloc would never get
freed since it would have no corresponding ClassLoaderData.

Fixes valgrind-test-art-host-gtest-oat_test

Bug: 27384882
Change-Id: Ic8f35b58c3117127a39521b6b9d25ef12c72040c

8 years agoMerge "Remove references to $(ACP)"
Dan Willemsen [Wed, 2 Mar 2016 18:12:06 +0000 (18:12 +0000)]
Merge "Remove references to $(ACP)"

8 years agoClear inline caches if a ProfilingInfo gets revived.
Nicolas Geoffray [Wed, 2 Mar 2016 17:09:35 +0000 (17:09 +0000)]
Clear inline caches if a ProfilingInfo gets revived.

This avoids stalled class references.

Bug: 27398183
Bug: 23128949
Bug: 26846185
Change-Id: I9539215241708e26fef887e02201ce1feabc2d1a

8 years agoSimplified intrinsic macro mechanism.
Aart Bik [Tue, 1 Mar 2016 23:16:54 +0000 (15:16 -0800)]
Simplified intrinsic macro mechanism.

Rationale:
Reduces boiler-plate code in all intrinsics code generators.
Also, the newly introduced "unreachable" macro provides a
static verifier that we do not have unreachable and thus
redundant code in the generators. In fact, this change
exposes that the MIPS32 and MIPS64 rotation intrinsics
(IntegerRotateRight, LongRotateRight, IntegerRotateLeft,
LongRotateLeft) are unreachable, since they are handled
as HIR constructs for all architectures. Thus the code
can be removed.

Change-Id: I0309799a0db580232137ded72bb8a7bbd45440a8

8 years agoMerge "Improve Checker error messages"
David Brazdil [Wed, 2 Mar 2016 16:41:33 +0000 (16:41 +0000)]
Merge "Improve Checker error messages"

8 years agoMerge "Revert "Revert "Use the interpreter as a heartbeat for the JIT."""
Nicolas Geoffray [Wed, 2 Mar 2016 16:39:08 +0000 (16:39 +0000)]
Merge "Revert "Revert "Use the interpreter as a heartbeat for the JIT."""

8 years agoRevert "Revert "Use the interpreter as a heartbeat for the JIT.""
Nicolas Geoffray [Wed, 2 Mar 2016 12:05:30 +0000 (12:05 +0000)]
Revert "Revert "Use the interpreter as a heartbeat for the JIT.""

Bug: 27398183
Bug: 23128949
Bug: 26846185

This reverts commit a96917a6983a5abbe973255a3846fda549fb1657.

Change-Id: I5c4f0d87d3293a6a7ab56a33396670704b66a347

8 years agoImprove Checker error messages
David Brazdil [Wed, 2 Mar 2016 16:09:46 +0000 (16:09 +0000)]
Improve Checker error messages

Now prints the offending Checker line and variable values.

Change-Id: Id4395083de6ddddbd69f66cb7ba38c943146799a

8 years agoFast ART MIPS64 interpreter
Alexey Frunze [Wed, 3 Feb 2016 04:25:45 +0000 (20:25 -0800)]
Fast ART MIPS64 interpreter

Change-Id: I5dda522df0acf9f9df626fe4f5ecfe6c4df600d3

8 years agoMerge "ART: Enable JitProfiling for x86_64 Mterp"
Bill Buzbee [Wed, 2 Mar 2016 15:53:46 +0000 (15:53 +0000)]
Merge "ART: Enable JitProfiling for x86_64 Mterp"

8 years agoMerge "oatdump: Add option to print just the header"
David Brazdil [Wed, 2 Mar 2016 15:44:34 +0000 (15:44 +0000)]
Merge "oatdump: Add option to print just the header"

8 years agooatdump: Add option to print just the header
David Brazdil [Wed, 2 Mar 2016 12:18:03 +0000 (12:18 +0000)]
oatdump: Add option to print just the header

Sometimes that's all one needs.

Change-Id: I0c442ed32f1662ad0b37dc2fccedd964ed1b1466

8 years agoMerge "Fix one more Checker test after switch to Jack"
David Brazdil [Wed, 2 Mar 2016 13:27:06 +0000 (13:27 +0000)]
Merge "Fix one more Checker test after switch to Jack"

8 years agoFix one more Checker test after switch to Jack
David Brazdil [Wed, 2 Mar 2016 13:25:57 +0000 (13:25 +0000)]
Fix one more Checker test after switch to Jack

Bug: 25635944
Change-Id: I61780b3505104f2b8a62bc2dee889b8cd444c696

8 years agoMerge "ART: Switch Checker run-tests to Jack"
David Brazdil [Wed, 2 Mar 2016 11:41:54 +0000 (11:41 +0000)]
Merge "ART: Switch Checker run-tests to Jack"

8 years agoART: Switch Checker run-tests to Jack
David Brazdil [Mon, 29 Feb 2016 09:14:51 +0000 (09:14 +0000)]
ART: Switch Checker run-tests to Jack

Bug: 25635944
Change-Id: Ic6774028025b51f54589e9625003e8f69cf39dea

8 years agoMerge "Revert "ART: Allow unwinding unattached threads""
Nicolas Geoffray [Wed, 2 Mar 2016 10:27:22 +0000 (10:27 +0000)]
Merge "Revert "ART: Allow unwinding unattached threads""

8 years agoRevert "ART: Allow unwinding unattached threads"
Nicolas Geoffray [Wed, 2 Mar 2016 10:27:01 +0000 (10:27 +0000)]
Revert "ART: Allow unwinding unattached threads"

This reverts commit f7286721a51c772b2abb42fef5bc0d2548df2372.

Change-Id: I6c96ece063041e94d40a96bdd054f89cd7875ade

8 years agoMerge "Give the JIT its own arena pool to avoid lock contentions."
Nicolas Geoffray [Wed, 2 Mar 2016 09:39:06 +0000 (09:39 +0000)]
Merge "Give the JIT its own arena pool to avoid lock contentions."

8 years agoMerge "More run-test with Jack"
Sebastien Hertz [Wed, 2 Mar 2016 09:19:03 +0000 (09:19 +0000)]
Merge "More run-test with Jack"

8 years agoMerge "Disable test after libunwind change."
Nicolas Geoffray [Wed, 2 Mar 2016 08:33:33 +0000 (08:33 +0000)]
Merge "Disable test after libunwind change."

8 years agoDisable test after libunwind change.
Nicolas Geoffray [Wed, 2 Mar 2016 08:30:44 +0000 (08:30 +0000)]
Disable test after libunwind change.

Change that broke it:
https://android-review.googlesource.com/205606

bug:27391690
Change-Id: I73c545619a6a1bb03e49120466ac91686363230f

8 years agoART: Enable JitProfiling for x86_64 Mterp
Serguei Katkov [Fri, 26 Feb 2016 07:00:40 +0000 (13:00 +0600)]
ART: Enable JitProfiling for x86_64 Mterp

Adds branch profiling and enables for x86_64.
Support interpreter switching in x86_64 mterp.

Change-Id: I0cb9fcf3e2a01e411d84efc78449e86c10e6bcac
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoRemove references to $(ACP)
Dan Willemsen [Tue, 1 Mar 2016 05:09:08 +0000 (21:09 -0800)]
Remove references to $(ACP)

We're changing the implementation of these macros to not use acp.
Instead of having to keep this in sync, move to using a standard
prebuilt module. The build system has been updated to explicitly add the
executable bit to prebuilt modules in the EXECUTABLES class.

Change-Id: I29cf4d48619e022b7da65ef2df05a92bed08a456

8 years agoMerge "ART: Allow unwinding unattached threads"
Andreas Gampe [Wed, 2 Mar 2016 05:00:05 +0000 (05:00 +0000)]
Merge "ART: Allow unwinding unattached threads"

8 years agoMerge "Revert "Disable flaky 130-hprof test.""
Mathieu Chartier [Wed, 2 Mar 2016 02:39:49 +0000 (02:39 +0000)]
Merge "Revert "Disable flaky 130-hprof test.""

8 years agoRevert "Disable flaky 130-hprof test."
Mathieu Chartier [Wed, 2 Mar 2016 01:40:55 +0000 (17:40 -0800)]
Revert "Disable flaky 130-hprof test."

Bug: 27337759

This reverts commit 2f0d3bc12f9ade80f4d3c21b7c4aad2cfe10f19e.

8 years agoMerge "Fix allocation tracking race"
Mathieu Chartier [Wed, 2 Mar 2016 01:40:52 +0000 (01:40 +0000)]
Merge "Fix allocation tracking race"

8 years agoFix allocation tracking race
Mathieu Chartier [Tue, 1 Mar 2016 02:13:38 +0000 (18:13 -0800)]
Fix allocation tracking race

Check if changed from uninstrumented to instrumented during GC for
alloc. If we changed, retry the allocation with kInstrumented = true.

Added stress test.

Bug: 27337759

Change-Id: Iaad7977693c9ed927f779a66b29cd58341a837da

8 years agoMerge "Lower JIT thread priority"
Andreas Gampe [Tue, 1 Mar 2016 23:30:10 +0000 (23:30 +0000)]
Merge "Lower JIT thread priority"

8 years agoMerge "ART: Fix overlapping instruction IDs in inliner"
David Brazdil [Tue, 1 Mar 2016 22:55:18 +0000 (22:55 +0000)]
Merge "ART: Fix overlapping instruction IDs in inliner"

8 years agoART: Fix overlapping instruction IDs in inliner
David Brazdil [Mon, 29 Feb 2016 16:53:33 +0000 (16:53 +0000)]
ART: Fix overlapping instruction IDs in inliner

Inliner creates the inner graph so that it generates instruction IDs
higher than the outer graph. This was broken because the inliner
would create instructions in the outer graph before the inner graph
is inlined.

The bug cannot be triggered because the offending instruction would
share the same ID as the first inner HLocal, which is removed before
the inner graph is inlined. The added DCHECKs reveal the hidden problem
and make it safe for HLocals to be removed in the future.

Change-Id: I486eb0f3987e20c50cbec0fb06332229e07fbae9

8 years agoLower JIT thread priority
Andreas Gampe [Tue, 1 Mar 2016 04:49:38 +0000 (20:49 -0800)]
Lower JIT thread priority

Modify the JIT thread to run at a lower priority in order to allow
UI-critical threads to get enough CPU time.

Bug: 27417985

(cherry picked from commit e701f088f8fe3a2c1f16e2895402f26283f4bcc7)

Change-Id: I5b962a7970ae81dac9e01a8011128c538cd78e40

8 years agoART: Allow unwinding unattached threads
Andreas Gampe [Tue, 1 Mar 2016 22:38:37 +0000 (14:38 -0800)]
ART: Allow unwinding unattached threads

Partial revert of commit ed8b723c5f3989d2593ec21c65c96d6d8bf25579.

Make it (constexpr) configurable whether we allow unwinding native
stacks of unattached threads.

Change-Id: Ibb1fd0956fb796583f78ec9c3a74521f6fbe96d9

8 years agoMerge "Revert "Use the interpreter as a heartbeat for the JIT.""
Nicolas Geoffray [Tue, 1 Mar 2016 22:18:18 +0000 (22:18 +0000)]
Merge "Revert "Use the interpreter as a heartbeat for the JIT.""

8 years agoRevert "Use the interpreter as a heartbeat for the JIT."
Nicolas Geoffray [Tue, 1 Mar 2016 22:18:02 +0000 (22:18 +0000)]
Revert "Use the interpreter as a heartbeat for the JIT."

Hits a DCHECK testing libcore.
    art F 11973 12675 art/runtime/jit/jit_code_cache.cc:644] Check failed: it.second->GetProfilingInfo(sizeof(void*)) != nullptr

Bug: 27398183
Bug: 23128949
Bug: 26846185

This reverts commit 7273a5d045d3ceb3ff011ad65765356b69b155e8.

Change-Id: I6614a82e775ea71aa16f041313f67546db41eac8

8 years agoMerge "Revert "Fix bogus interaction between code cache and instrumentation.""
Nicolas Geoffray [Tue, 1 Mar 2016 22:16:55 +0000 (22:16 +0000)]
Merge "Revert "Fix bogus interaction between code cache and instrumentation.""

8 years agoRevert "Fix bogus interaction between code cache and instrumentation."
Nicolas Geoffray [Tue, 1 Mar 2016 22:16:35 +0000 (22:16 +0000)]
Revert "Fix bogus interaction between code cache and instrumentation."

hits a DCHECK when testing libcore:
    art F 11973 12675 art/runtime/jit/jit_code_cache.cc:644] Check failed: it.second->GetProfilingInfo(sizeof(void*)) != nullptr

This reverts commit e9924b7d4fcafe7261233d2c16ebb73d7bb5e8e8.

Change-Id: I37d05991b9506a53a7c76738a7e4a6def1010958

8 years agoMerge "Standby list for dyn bce in potentially infinite loops."
Aart Bik [Tue, 1 Mar 2016 22:10:46 +0000 (22:10 +0000)]
Merge "Standby list for dyn bce in potentially infinite loops."

8 years agoStandby list for dyn bce in potentially infinite loops.
Aart Bik [Tue, 1 Mar 2016 18:39:25 +0000 (10:39 -0800)]
Standby list for dyn bce in potentially infinite loops.

Rationale:
The old code relied on "luck" to revisit basic blocks
after dynamic bce and incorporate all bounds checks
in potentially infinite loops that were "made" finite.
Now that revisiting has been removed completely, keeping
a standby list ensures all candidates are considered.

Change-Id: Ida3cf63be1307be6c2b0258d3e64b163f12be235

8 years agoMerge "Fix bogus interaction between code cache and instrumentation."
Nicolas Geoffray [Tue, 1 Mar 2016 18:51:27 +0000 (18:51 +0000)]
Merge "Fix bogus interaction between code cache and instrumentation."

8 years agoFix bogus interaction between code cache and instrumentation.
Nicolas Geoffray [Tue, 1 Mar 2016 18:43:46 +0000 (18:43 +0000)]
Fix bogus interaction between code cache and instrumentation.

Change-Id: Icc314089ec1a05248b8994476d478a543e629e4d

8 years agoMerge "Revert "Revert "Fast ART x86_64 interpretator"""
Bill Buzbee [Tue, 1 Mar 2016 18:19:42 +0000 (18:19 +0000)]
Merge "Revert "Revert "Fast ART x86_64 interpretator"""

8 years agoMerge "Fixed bug on incorrectly revisiting same block."
Aart Bik [Tue, 1 Mar 2016 17:18:37 +0000 (17:18 +0000)]
Merge "Fixed bug on incorrectly revisiting same block."

8 years agoMerge "x86 Fast Interpreter: Fix CFI"
Bill Buzbee [Tue, 1 Mar 2016 15:35:07 +0000 (15:35 +0000)]
Merge "x86 Fast Interpreter: Fix CFI"

8 years agoMerge "Use the interpreter as a heartbeat for the JIT."
Nicolas Geoffray [Tue, 1 Mar 2016 15:17:42 +0000 (15:17 +0000)]
Merge "Use the interpreter as a heartbeat for the JIT."

8 years agoMore run-test with Jack
Sebastien Hertz [Mon, 29 Feb 2016 15:54:16 +0000 (16:54 +0100)]
More run-test with Jack

Updates the following tests
* 004-ReferenceMap: updates expectations
* 004-StackWalk: updates expectations
* 089-many-methods: updates expectations
* 138-duplicate-classes-check2: add Jack support
* 454-get-vreg: updates expectations

Bug: 19467889
Change-Id: I086e170b1951c9fdac5bd4e0234ac504644db5a1

8 years agoMerge "Fix the signature of the IndexOf entry point."
Roland Levillain [Tue, 1 Mar 2016 14:38:42 +0000 (14:38 +0000)]
Merge "Fix the signature of the IndexOf entry point."

8 years agoDo a TryLock when allocating a ProfilingInfo from the interpreter.
Nicolas Geoffray [Tue, 1 Mar 2016 14:11:40 +0000 (14:11 +0000)]
Do a TryLock when allocating a ProfilingInfo from the interpreter.

This removes some thread contentions just for allocating ProfilingInfo.

bug:23128949

Change-Id: I9ff7d44c4b0ee272425cf4c6248d3065f67958f3

8 years agoUse the interpreter as a heartbeat for the JIT.
Nicolas Geoffray [Mon, 29 Feb 2016 15:35:39 +0000 (15:35 +0000)]
Use the interpreter as a heartbeat for the JIT.

When doing a partial code cache collection, update all entrypoints to
interpreter, so that the next full collection will remove code
that wasn't executed during that window.

bug:27398183
bug:23128949
bug:26846185

Change-Id: I4423f5c4810dac183dc8973078bf218818745e80

8 years agoMerge "Dump more information to diagnose problem."
Nicolas Geoffray [Tue, 1 Mar 2016 13:31:16 +0000 (13:31 +0000)]
Merge "Dump more information to diagnose problem."

8 years agoMerge "Optimizing: Do not depend on sharpening in test 577"
Roland Levillain [Tue, 1 Mar 2016 13:19:49 +0000 (13:19 +0000)]
Merge "Optimizing: Do not depend on sharpening in test 577"

8 years agoGive the JIT its own arena pool to avoid lock contentions.
Nicolas Geoffray [Tue, 1 Mar 2016 13:17:58 +0000 (13:17 +0000)]
Give the JIT its own arena pool to avoid lock contentions.

Sharing it with the verifier and the class loader is not ideal,
especially at startup time.

bug:27398183
bug:23128949
Change-Id: I1b91663a13f6c5b33ad3b4be780d93eb7fe445b4

8 years agoDump more information to diagnose problem.
Nicolas Geoffray [Tue, 1 Mar 2016 12:18:47 +0000 (12:18 +0000)]
Dump more information to diagnose problem.

bug:27424509
Change-Id: Id502cf408a7f117a2a891534f5c999d60f9370b1

8 years agox86 Fast Interpreter: Fix CFI
Serguei Katkov [Tue, 1 Mar 2016 09:53:22 +0000 (15:53 +0600)]
x86 Fast Interpreter: Fix CFI

With this change gdb can fall through x86 Fast Interpreter frame.

Change-Id: Ia5efe0059ecbdb09491d37ab47367e222d29f1d3
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoMerge "Improve documentation about StringFactory.newStringFromChars."
Roland Levillain [Tue, 1 Mar 2016 10:24:08 +0000 (10:24 +0000)]
Merge "Improve documentation about StringFactory.newStringFromChars."

8 years agoRevert "Revert "Fast ART x86_64 interpretator""
Serguei Katkov [Tue, 1 Mar 2016 10:10:48 +0000 (16:10 +0600)]
Revert "Revert "Fast ART x86_64 interpretator""

CFI is updated. Now unwinder can fall through fast interpreter.

This reverts commit c4a575f58007036ff3408b15c2ec48108add20f3.

Change-Id: Ibb0a2ef41e4d02ab0b4ecc4f030ba0e72971aa9d
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoMerge "Revert "Disable symbolizing traces on volantis.""
Nicolas Geoffray [Tue, 1 Mar 2016 09:30:56 +0000 (09:30 +0000)]
Merge "Revert "Disable symbolizing traces on volantis.""

8 years agoRevert "Disable symbolizing traces on volantis."
Nicolas Geoffray [Tue, 1 Mar 2016 09:28:26 +0000 (09:28 +0000)]
Revert "Disable symbolizing traces on volantis."

Devices have been updated to M.

This reverts commit 95303c682bba971128950ef82c8f6c247917ffff.

Change-Id: Ib6620f88b939700e53af87d2003ea8bbe222e1bc

8 years agoMerge "Disable flaky 130-hprof test."
Nicolas Geoffray [Tue, 1 Mar 2016 09:10:43 +0000 (09:10 +0000)]
Merge "Disable flaky 130-hprof test."

8 years agoDisable flaky 130-hprof test.
Nicolas Geoffray [Tue, 1 Mar 2016 09:09:35 +0000 (09:09 +0000)]
Disable flaky 130-hprof test.

bug:27337759
Change-Id: I167bd42ef539bce46978b07f755efd57bc61b2f2

8 years agoFixed bug on incorrectly revisiting same block.
Aart Bik [Mon, 29 Feb 2016 21:56:44 +0000 (13:56 -0800)]
Fixed bug on incorrectly revisiting same block.

Rationale:
Aart's fuzz tester found this particular bug, where
revisiting a block (after dynamic bce) would cause
static array length based bce to feed into itself
and thus incorrectly remove a needed bounds check.

bug=27376274

Change-Id: I9163f283af355d444b4cec707f194fe2b67c2572

8 years agoMerge "[MIPS] Add Fast Art interpreter for Mips32."
Bill Buzbee [Mon, 29 Feb 2016 18:54:10 +0000 (18:54 +0000)]
Merge "[MIPS] Add Fast Art interpreter for Mips32."

8 years agoMerge "Revert "Revert "Improve immune spaces logic"""
Mathieu Chartier [Mon, 29 Feb 2016 18:42:22 +0000 (18:42 +0000)]
Merge "Revert "Revert "Improve immune spaces logic"""

8 years agoRevert "Revert "Improve immune spaces logic""
Mathieu Chartier [Sun, 28 Feb 2016 21:10:58 +0000 (13:10 -0800)]
Revert "Revert "Improve immune spaces logic""

Test was flaky due to missing guard page at the end of the region.

Bug: 27136196

This reverts commit 07dbbca0b42cb8da1811de8209b4a7d4becfc7b2.

Change-Id: I4eb345f34e66b8684cd71a7897e3a8caa2f84140

8 years agoFix the signature of the IndexOf entry point.
Roland Levillain [Mon, 29 Feb 2016 18:26:54 +0000 (18:26 +0000)]
Fix the signature of the IndexOf entry point.

The IndexOf entry point was declared as taking four
arguments (void*, uint32_t, uint32_t, uint32_t) whereas all
actual implementations use three arguments (void*, uint32_t,
uint32_t).  As that fourth argument is not documented, drop
it from the intrinsic declaration to have it match the
implementations.

Change-Id: I65d747033192025ccd2b9a5e8f8ed05b77a21941

8 years agoImprove documentation about StringFactory.newStringFromChars.
Roland Levillain [Mon, 29 Feb 2016 16:23:48 +0000 (16:23 +0000)]
Improve documentation about StringFactory.newStringFromChars.

Make it clear that the native method requires its third
argument to be non-null, and therefore that the intrinsics
do not need a null check for it.

Bug: 27378573
Change-Id: Id2f78ceb0f7674f1066bc3f216b738358ca25542

8 years agoMerge "Bug fix for polymorphic inlining."
Nicolas Geoffray [Mon, 29 Feb 2016 14:30:18 +0000 (14:30 +0000)]
Merge "Bug fix for polymorphic inlining."

8 years agoMerge "Cleanup polymorphic inlining to the same target."
Nicolas Geoffray [Mon, 29 Feb 2016 14:30:00 +0000 (14:30 +0000)]
Merge "Cleanup polymorphic inlining to the same target."

8 years agoCleanup polymorphic inlining to the same target.
Nicolas Geoffray [Thu, 25 Feb 2016 16:17:54 +0000 (16:17 +0000)]
Cleanup polymorphic inlining to the same target.

- Don't do expensive lookups, just fetch the ArtMethods from the
  imtable or vtable.
- Don't perform the optimization if we may end up in the conflicting
  trampoline.

bug:27398183

Change-Id: I327c9f7c3a85d570a057ff8f18602e8e52402fdc

8 years agoBug fix for polymorphic inlining.
Nicolas Geoffray [Mon, 29 Feb 2016 11:46:58 +0000 (11:46 +0000)]
Bug fix for polymorphic inlining.

The code used to wrongly propagate try/catch information to
new blocks. Since it has the same logic as Hraph::InlineInto,
extract the code that updates loop and try/catch information
to blocks to a shared method.

bug:27330865
bug:27372101
bug:27360329

Change-Id: I4386f724d8d412bde5bcc04fda6955bc3bacf5a9

8 years agoOptimizing: Do not depend on sharpening in test 577
Goran Jakovljevic [Mon, 29 Feb 2016 11:15:34 +0000 (12:15 +0100)]
Optimizing: Do not depend on sharpening in test 577

The sharpening may or may not remove the ArtMethod*
parameter, so the test must not depend on its absence.
This fixes the test 577 checker test on mips/mips64.

Change-Id: I01a2fc1bd2755804326a2ac284ee81e99fc91aa6

8 years agoMerge "Disable symbolizing traces on volantis."
Nicolas Geoffray [Mon, 29 Feb 2016 09:49:55 +0000 (09:49 +0000)]
Merge "Disable symbolizing traces on volantis."

8 years agoDisable symbolizing traces on volantis.
Nicolas Geoffray [Mon, 29 Feb 2016 09:35:26 +0000 (09:35 +0000)]
Disable symbolizing traces on volantis.

Change-Id: I1ba6b5a173e77e635d721dea8433cfcb8b0b787b

8 years agoMerge "Revert "Improve immune spaces logic""
Nicolas Geoffray [Sat, 27 Feb 2016 11:30:49 +0000 (11:30 +0000)]
Merge "Revert "Improve immune spaces logic""

8 years agoRevert "Improve immune spaces logic"
Nicolas Geoffray [Sat, 27 Feb 2016 11:30:25 +0000 (11:30 +0000)]
Revert "Improve immune spaces logic"

test is flaky. For example:

[ RUN      ] ImmuneSpacesTest.MultiImage
art/runtime/gc/collector/immune_spaces_test.cc:351: Failure
Value of: space5->Limit()
  Actual: 0xb6d72000
Expected: reinterpret_cast<uint8_t*>(spaces.GetLargestImmuneRegion().End())
Which is: 0xb6d93000
[  FAILED  ] ImmuneSpacesTest.MultiImage (1076 ms)

Bug: 27136196

This reverts commit 17b8bce064fe4c0b29117abe489b7f8c2c950d43.

Change-Id: I9168421dd6ebabc271ed5c2cdbc5a27c211dcf5a

8 years agoMerge "Improve immune spaces logic"
Mathieu Chartier [Sat, 27 Feb 2016 01:22:19 +0000 (01:22 +0000)]
Merge "Improve immune spaces logic"

8 years agoImprove immune spaces logic
Mathieu Chartier [Tue, 23 Feb 2016 03:32:16 +0000 (19:32 -0800)]
Improve immune spaces logic

We now properly include the largest continuous region with the most
image bytes. Oat bytes are considered as part of the region but are
not counted when comparing. This can result in more image bytes in
cases where large oat files were previously included for the immune
region.

Also added handling for adjacent oat files:
[image][image][oat][oat][space] will now properly be a single region.

Bug: 27136196
Change-Id: If2c002176dd32122e320e8a94551df46bd95256a