OSDN Git Service

android-x86/art.git
7 years agoART: Add GetClassFields support
Andreas Gampe [Fri, 6 Jan 2017 19:05:58 +0000 (19:05 +0000)]
ART: Add GetClassFields support
am: ac58727f26

Change-Id: I7cce7480ac88da2e0c914cdaf7f6f3194f35c89f

7 years agoART: Add Field methods
Andreas Gampe [Fri, 6 Jan 2017 19:05:47 +0000 (19:05 +0000)]
ART: Add Field methods
am: ab2f0d0395

Change-Id: Ifdfd28466aab620d433599768076bc6ef72e50e6

7 years agoART: Add IsInterface and IsArrayClass support
Andreas Gampe [Fri, 6 Jan 2017 19:05:39 +0000 (19:05 +0000)]
ART: Add IsInterface and IsArrayClass support
am: 4fd66ecf2e

Change-Id: I1cfe905046369ffc161ee2e6997ce832242484c1

7 years agoMerge "Avoid using ThreadList::Dump() in empty checkpoint timeout."
Hiroshi Yamauchi [Fri, 6 Jan 2017 18:38:36 +0000 (18:38 +0000)]
Merge "Avoid using ThreadList::Dump() in empty checkpoint timeout."
am: 48ff5b9aec

Change-Id: If65a49ee08edc8539c10a63dbc9a3bf6d660c624

7 years agoMerge "Avoid using ThreadList::Dump() in empty checkpoint timeout."
Hiroshi Yamauchi [Fri, 6 Jan 2017 18:32:19 +0000 (18:32 +0000)]
Merge "Avoid using ThreadList::Dump() in empty checkpoint timeout."

7 years agoART: Add GetClassFields support
Andreas Gampe [Thu, 5 Jan 2017 23:21:34 +0000 (15:21 -0800)]
ART: Add GetClassFields support

Add GetClassFields support. Add a test.

Bug: 31684578
Test: m test-art-host-run-test-912-classes
Change-Id: Id7509ef10ec9c19b54b7db8637729556b91273e5

7 years agoART: Add Field methods
Andreas Gampe [Fri, 6 Jan 2017 01:23:45 +0000 (17:23 -0800)]
ART: Add Field methods

Add GetFieldName, GetFieldDeclaringClass, GetFieldModifiers
and IsFieldSynthetic support. Add tests.

Bug: 34113943
Test: m test-art-host-run-test-918-fields
Change-Id: Id33b8c54c250f73f0658ec45ccb2b55eccb37623

7 years agoART: Add IsInterface and IsArrayClass support
Andreas Gampe [Thu, 5 Jan 2017 22:42:13 +0000 (14:42 -0800)]
ART: Add IsInterface and IsArrayClass support

Add support for these two required calls. Add a test.

Bug: 31684578
Test: m test-art-host-run-test-912-classes
Change-Id: I2f9e5c62dd4c3d7f29aaf3dd08f1297aa3b2fd8b

7 years agoMerge "Remove the IsInDexCache flag from HLoadString."
Vladimir Marko [Fri, 6 Jan 2017 16:24:57 +0000 (16:24 +0000)]
Merge "Remove the IsInDexCache flag from HLoadString."
am: 776ba76275

Change-Id: I3c1178a66c1cfbfca1b98cf724f3f24acaad2eca

7 years agoMerge "Remove the IsInDexCache flag from HLoadString."
Treehugger Robot [Fri, 6 Jan 2017 16:19:51 +0000 (16:19 +0000)]
Merge "Remove the IsInDexCache flag from HLoadString."

7 years agoRemove the IsInDexCache flag from HLoadString.
Vladimir Marko [Fri, 6 Jan 2017 14:43:11 +0000 (14:43 +0000)]
Remove the IsInDexCache flag from HLoadString.

This flag was obsolete and always false.

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

7 years agoMerge "ART: Make method handle runtime code callable from compiler."
Orion Hodson [Fri, 6 Jan 2017 09:11:29 +0000 (09:11 +0000)]
Merge "ART: Make method handle runtime code callable from compiler."
am: 6d2741f18b

Change-Id: I17ff895b0eafe68599f27d1872a7f16afee96027

7 years agoMerge "Remove bogus DCHECK."
Nicolas Geoffray [Fri, 6 Jan 2017 09:07:52 +0000 (09:07 +0000)]
Merge "Remove bogus DCHECK."
am: fe150d9821

Change-Id: Ic849a5672989d9e0d411f22e4c0e02375926ab63

7 years agoMerge "ARM: VIXL32: Fix crash in Exchange for stack slots."
Nicolas Geoffray [Fri, 6 Jan 2017 09:07:31 +0000 (09:07 +0000)]
Merge "ARM: VIXL32: Fix crash in Exchange for stack slots."
am: a79003958e

Change-Id: I376622aeffbe9641bf86f0e5c557bf6739f2fb55

7 years agoMerge "ART: Make method handle runtime code callable from compiler."
Orion Hodson [Fri, 6 Jan 2017 09:04:47 +0000 (09:04 +0000)]
Merge "ART: Make method handle runtime code callable from compiler."

7 years agoMerge "Remove bogus DCHECK."
Treehugger Robot [Fri, 6 Jan 2017 09:04:18 +0000 (09:04 +0000)]
Merge "Remove bogus DCHECK."

7 years agoMerge "ARM: VIXL32: Fix crash in Exchange for stack slots."
Nicolas Geoffray [Fri, 6 Jan 2017 09:03:36 +0000 (09:03 +0000)]
Merge "ARM: VIXL32: Fix crash in Exchange for stack slots."

7 years agoMerge "Actually record arrays in classpath."
Nicolas Geoffray [Fri, 6 Jan 2017 09:03:27 +0000 (09:03 +0000)]
Merge "Actually record arrays in classpath."
am: a1d0d63614

Change-Id: Iad707649501c3bcb9bbe591b147666f130345fc4

7 years agoMerge "Actually record arrays in classpath."
Nicolas Geoffray [Fri, 6 Jan 2017 09:00:15 +0000 (09:00 +0000)]
Merge "Actually record arrays in classpath."

7 years agoART: Make method handle runtime code callable from compiler.
Orion Hodson [Wed, 7 Dec 2016 11:35:37 +0000 (11:35 +0000)]
ART: Make method handle runtime code callable from compiler.

Most of this change is moving the existing method handles code, but it
also introduces a new header file, common_dex_operations.h, that has
some operations taken from interpreter_common.{h,cc} that are also used
by method handles (perform call, set field, get field).

Bug: 30550796
Test: m test-art-host
Change-Id: I2235e13770a5562950f2767f65a25ca273479150

7 years agoMerge "Prevent moving GC from running during redefinition."
Alex Light [Fri, 6 Jan 2017 04:06:39 +0000 (04:06 +0000)]
Merge "Prevent moving GC from running during redefinition."
am: b51edffe1c

Change-Id: I490c0709510a8ced17316baccc4bae9b7aad72ca

7 years agoMerge "Prevent moving GC from running during redefinition."
Treehugger Robot [Fri, 6 Jan 2017 03:59:24 +0000 (03:59 +0000)]
Merge "Prevent moving GC from running during redefinition."

7 years agoPrevent moving GC from running during redefinition.
Alex Light [Fri, 6 Jan 2017 01:53:00 +0000 (17:53 -0800)]
Prevent moving GC from running during redefinition.

This could cause a deadlock during deoptimization.

Test: ART_USE_READ_BARRIER=true ART_READ_BARRIER_TYPE=TABLELOOKUP mma -j40 test-art-host
Change-Id: I57e4f1a50709bf4a1817227913e61f3ef434d04a

7 years agoAvoid using ThreadList::Dump() in empty checkpoint timeout.
Hiroshi Yamauchi [Thu, 5 Jan 2017 04:32:57 +0000 (20:32 -0800)]
Avoid using ThreadList::Dump() in empty checkpoint timeout.

ThreadList::Dump() that uses a checkpoint to dump threads may get
stuck when an empty checkpoint gets stuck and isn't useful when
debugging an empty checkpoint timeout. Instead, directly use
Thread::Dump() for each runnable thread that isn't responding to an
empty checkpoint request.

Bug: 33006388
Bug: 12687968
Test: test-art-host with CC.
Change-Id: If07a205786d469eec9b1f587485c80f54fb84c4d

7 years agoMerge "Revert "Revert "Cleanup jvmti tests"""
Alex Light [Fri, 6 Jan 2017 00:50:23 +0000 (00:50 +0000)]
Merge "Revert "Revert "Cleanup jvmti tests"""
am: 9890a5b579

Change-Id: I44a27f4655bf378c007d7f8814d251e3d04cce77

7 years agoMerge "Revert "Revert "Cleanup jvmti tests"""
Alex Light [Fri, 6 Jan 2017 00:46:17 +0000 (00:46 +0000)]
Merge "Revert "Revert "Cleanup jvmti tests"""

7 years agoMerge "Add some code info checking in GetCalleeSaveMethodCaller"
Mathieu Chartier [Fri, 6 Jan 2017 00:07:18 +0000 (00:07 +0000)]
Merge "Add some code info checking in GetCalleeSaveMethodCaller"
am: 6980dc54b9

Change-Id: Ib030b51bb3cc3f38e9e3693dcf92260641b45b3d

7 years agoMerge "Add some code info checking in GetCalleeSaveMethodCaller"
Mathieu Chartier [Thu, 5 Jan 2017 23:59:14 +0000 (23:59 +0000)]
Merge "Add some code info checking in GetCalleeSaveMethodCaller"

7 years agoRevert "Revert "Cleanup jvmti tests""
Alex Light [Thu, 5 Jan 2017 22:37:21 +0000 (14:37 -0800)]
Revert "Revert "Cleanup jvmti tests""

This reverts commit 2a9d198b9929560c9ab07691b3afbe275483be95.

Test: mma -j40 test-art-host
Test: ART_TEST_RUN_TEST_NDEBUG=true mma -j40 test-art-host

Change-Id: I14bfd02f74f93e4a6b853287fcaa69f1fb027256

7 years agoMerge "Reduce the number of fences needed for monitors"
Hans Boehm [Thu, 5 Jan 2017 22:20:40 +0000 (22:20 +0000)]
Merge "Reduce the number of fences needed for monitors"
am: 8ba6549565

Change-Id: Id737e3646ce29c2d90a0043d03abb09d220960c4

7 years agoMerge "Reduce the number of fences needed for monitors"
Hans Boehm [Thu, 5 Jan 2017 22:15:30 +0000 (22:15 +0000)]
Merge "Reduce the number of fences needed for monitors"

7 years agoAdd some code info checking in GetCalleeSaveMethodCaller
Mathieu Chartier [Thu, 5 Jan 2017 18:17:55 +0000 (10:17 -0800)]
Add some code info checking in GetCalleeSaveMethodCaller

Will print info if the memory region is too small for the stack maps.

Test: test-art-host

Bug: 33924573

Change-Id: I03e0151724d3a0933f3bef004e0d16ba1c6134c4

7 years agoMerge "Tests on FP Math.abs()"
Aart Bik [Thu, 5 Jan 2017 20:44:35 +0000 (20:44 +0000)]
Merge "Tests on FP Math.abs()"
am: 8a26281ead

Change-Id: I0264a6f44684e53e58830851a448f9f0e006f50c

7 years agoMerge "Tests on FP Math.abs()"
Aart Bik [Thu, 5 Jan 2017 20:34:32 +0000 (20:34 +0000)]
Merge "Tests on FP Math.abs()"

7 years agoMerge "Fix unquitable apps when debug enabled."
Tao Wu [Thu, 5 Jan 2017 19:20:29 +0000 (19:20 +0000)]
Merge "Fix unquitable apps when debug enabled."
am: ec107997ab

Change-Id: Ibb5a1ef1ae1a649fbd1aeb48e9337c3e56cb6fa0

7 years agoMerge "Fix unquitable apps when debug enabled."
Treehugger Robot [Thu, 5 Jan 2017 19:13:38 +0000 (19:13 +0000)]
Merge "Fix unquitable apps when debug enabled."

7 years agoMerge "Revert "Revert "Revert "Revert "Basic obsolete methods support"""""
Alex Light [Thu, 5 Jan 2017 18:21:25 +0000 (18:21 +0000)]
Merge "Revert "Revert "Revert "Revert "Basic obsolete methods support"""""
am: 16722603e0

Change-Id: Ib787af7eb142b3f37f9745fce0c19cb2b067c5c4

7 years agoMerge "Revert "Revert "Revert "Revert "Basic obsolete methods support"""""
Treehugger Robot [Thu, 5 Jan 2017 18:16:14 +0000 (18:16 +0000)]
Merge "Revert "Revert "Revert "Revert "Basic obsolete methods support"""""

7 years agoTests on FP Math.abs()
Aart Bik [Tue, 3 Jan 2017 17:53:00 +0000 (09:53 -0800)]
Tests on FP Math.abs()

Rationale:
As a "quality of implementation", rather than pure "spec compliance", we
require that Math.abs() clears the sign bit (but changes nothing else)
for all numbers, including NaN (signaling NaN may become quiet though).

These tests ensure that remains the case.

NOTE:
This is a better redo of reverted CL
https://android-review.googlesource.com/#/c/316351/

Test: test-art-host
Bug: 30758343

Change-Id: I2740f9aea19abd82335f1f000d92f1cdb469a1c3

7 years agoMerge "MIPS64: Implement table-based packed switch"
Alexey Frunze [Thu, 5 Jan 2017 17:44:51 +0000 (17:44 +0000)]
Merge "MIPS64: Implement table-based packed switch"
am: f67dadb555

Change-Id: I33f1422cc5ca728704891da83151ca94d1a983b2

7 years agoMerge "MIPS64: Implement table-based packed switch"
Treehugger Robot [Thu, 5 Jan 2017 17:37:56 +0000 (17:37 +0000)]
Merge "MIPS64: Implement table-based packed switch"

7 years agoMerge "Remove racy DCHECK on string dex cache."
Nicolas Geoffray [Thu, 5 Jan 2017 17:02:18 +0000 (17:02 +0000)]
Merge "Remove racy DCHECK on string dex cache."
am: cda4b75615

Change-Id: Ie61f6bf1922ad441dc6383a0beb4f357521a2094

7 years agoMerge "Remove racy DCHECK on string dex cache."
Treehugger Robot [Thu, 5 Jan 2017 16:55:53 +0000 (16:55 +0000)]
Merge "Remove racy DCHECK on string dex cache."

7 years agoRemove racy DCHECK on string dex cache.
Nicolas Geoffray [Thu, 5 Jan 2017 15:27:03 +0000 (15:27 +0000)]
Remove racy DCHECK on string dex cache.

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

7 years agoActually record arrays in classpath.
Nicolas Geoffray [Thu, 5 Jan 2017 15:23:19 +0000 (15:23 +0000)]
Actually record arrays in classpath.

With https://android-review.googlesource.com/#/c/316151/,
I was under the wrong impression arrays all have the same
access flags. They actually have the visibility of the inner
most component type.

Therefore, we still need to record visibility of array types whose
innermost component type is in the classpath.

Test: verifier_deps_test
Change-Id: If7b1004efb679e320330258f42ced83b8eedae87

7 years agoARM: VIXL32: Fix crash in Exchange for stack slots.
Artem Serov [Thu, 29 Dec 2016 16:21:49 +0000 (16:21 +0000)]
ARM: VIXL32: Fix crash in Exchange for stack slots.

In ParallelMoveResolverARMVIXL::Exchange(int mem1, int mem2)
scratch general purpose register was used without any spilling
(like in StoreToOffset) which led to lack of scratch register
for VLDR with big offset. Now it uses two scratch S-registers.

Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host
Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target
Change-Id: I0416a69e281d09a04dd1689efa5a8c1994c82638

7 years agoMerge "Refine receiver type when inlining based on inline caches."
Nicolas Geoffray [Thu, 5 Jan 2017 15:01:08 +0000 (15:01 +0000)]
Merge "Refine receiver type when inlining based on inline caches."
am: 168768d203

Change-Id: I827455011a6da3f8db6392da34b29c065c16ba6a

7 years agoMerge "Refine receiver type when inlining based on inline caches."
Nicolas Geoffray [Thu, 5 Jan 2017 14:57:29 +0000 (14:57 +0000)]
Merge "Refine receiver type when inlining based on inline caches."

7 years agoMerge "MIPS32: java.lang.String.getChars"
Nicolas Geoffray [Thu, 5 Jan 2017 13:34:02 +0000 (13:34 +0000)]
Merge "MIPS32: java.lang.String.getChars"
am: 8174621224

Change-Id: I27aba6272c9c3d1af12af308089b4e0fbd72c75d

7 years agoMerge "MIPS32: java.lang.String.getChars"
Nicolas Geoffray [Thu, 5 Jan 2017 13:27:14 +0000 (13:27 +0000)]
Merge "MIPS32: java.lang.String.getChars"

7 years agoRefine receiver type when inlining based on inline caches.
Nicolas Geoffray [Wed, 4 Jan 2017 16:46:23 +0000 (16:46 +0000)]
Refine receiver type when inlining based on inline caches.

We know we're guarding for a specific type
(eg foo.getClass() == Foo.class), so we can propagate the
exact type when building the callee graph.

Test: ART_TEST_JIT=true test-art-host
Change-Id: I3e1858945afbb651cb8966b2b7d7755eccac09e1

7 years agoMerge "Revert "Disable 626-const-class-linking for JIT.""
Vladimir Marko [Thu, 5 Jan 2017 12:50:59 +0000 (12:50 +0000)]
Merge "Revert "Disable 626-const-class-linking for JIT.""
am: f0bfd75c19

Change-Id: Ia712e881e655532f5217fdd4d1347806c7b92ef6

7 years agoMerge "Revert "Disable 626-const-class-linking for JIT.""
Vladimir Marko [Thu, 5 Jan 2017 12:45:35 +0000 (12:45 +0000)]
Merge "Revert "Disable 626-const-class-linking for JIT.""

7 years agoMerge "Fix incorrect string hash value extension during cross-compilation."
Alexey Grebenkin [Thu, 5 Jan 2017 12:20:59 +0000 (12:20 +0000)]
Merge "Fix incorrect string hash value extension during cross-compilation."
am: efe703fa49

Change-Id: Id4a007750b8da2493c91b8177f5673c451df1804

7 years agoMerge "Fix incorrect string hash value extension during cross-compilation."
Treehugger Robot [Thu, 5 Jan 2017 12:15:07 +0000 (12:15 +0000)]
Merge "Fix incorrect string hash value extension during cross-compilation."

7 years agoMerge "Limit Jack threads during tests"
Sebastien Hertz [Thu, 5 Jan 2017 10:36:20 +0000 (10:36 +0000)]
Merge "Limit Jack threads during tests"
am: 77e9bddee9

Change-Id: Ie998180dd59076fed3211c7b4aefbe22546ef872

7 years agoMerge "Limit Jack threads during tests"
Sebastien Hertz [Thu, 5 Jan 2017 10:28:56 +0000 (10:28 +0000)]
Merge "Limit Jack threads during tests"

7 years agoLimit Jack threads during tests
Sebastien Hertz [Wed, 4 Jan 2017 15:07:57 +0000 (16:07 +0100)]
Limit Jack threads during tests

In default mode, run Jack with 4 threads to help reduce memory
footprint and thread contention. These are the same settings than
the Android build.

For the buildbot (where the Jack server is disabled), run Jack in
single-threaded mode to reduce the global memory consumption.

Bug: 31737153
Test: make -j32 test-art-host
Change-Id: I6a14efce92ea18dba008e6daa26cd6403e5eb503

7 years agoReduce the number of fences needed for monitors
Hans Boehm [Thu, 15 Dec 2016 21:12:59 +0000 (13:12 -0800)]
Reduce the number of fences needed for monitors

Add the necessary CasWeakAcquire primitives for LockWords.

Have MonitorEnter initially read the lockword using a
memory_order_relaxed operation. In the unlikely case we need more,
compensate with an explicit fence.

In the uncontended case, install the thin lock with Acquire,
rather than SequentiallyConsistent semantics.

Have MonitorExit use a Release instead of SequentiallyConsistent
CAS in the ReadBarrier case. Add TODO for the other case.

Together, these should usually eliminate 3 fences (or acq/rel)
per critical section.

Have Install() only use Release ordering.

Add TODO for inflation spinning, which looks to me like it could be
improved appreciably.

Drive-by fix:

GetMaxSpinsBeforeThinLockInflation spelling

Test: Build for several targets, boot, m art-test-host art-test-target

Change-Id: I2cab09723252065f6365e4234ee3249c69ece888

7 years agoMerge "ART: Remove dequicken map from VerifiedMethod"
Andreas Gampe [Wed, 4 Jan 2017 23:05:04 +0000 (23:05 +0000)]
Merge "ART: Remove dequicken map from VerifiedMethod"
am: 18f7ef3dc0

Change-Id: I4464445f1b3c201249cd40e254d50c62235b0d84

7 years agoMerge "ART: Remove dequicken map from VerifiedMethod"
Treehugger Robot [Wed, 4 Jan 2017 22:59:02 +0000 (22:59 +0000)]
Merge "ART: Remove dequicken map from VerifiedMethod"

7 years agoART: Remove dequicken map from VerifiedMethod
Andreas Gampe [Wed, 4 Jan 2017 20:04:05 +0000 (12:04 -0800)]
ART: Remove dequicken map from VerifiedMethod

Remove now unused VerifiedMethod's dequicken map. Follow-up to
c51c7ca7a779563d153c137c6bf01c3ea532a6c9.

Results on a large well-known app in speed compile with -j4:

Before:
 dex2oat took [...] native alloc=84MB [...] swap=208MB [...]
After:
 dex2oat took [...] native alloc=76MB [...] swap=208MB [...]

Bug: 34053922
Test: m clean-oat-host && m test-art-host
Change-Id: Ie95fd297299a0f5fac0c8c702773ee8372f662b6

7 years agoRemove bogus DCHECK.
Nicolas Geoffray [Wed, 4 Jan 2017 11:49:00 +0000 (11:49 +0000)]
Remove bogus DCHECK.

The code may be executed concurrently by multiple threads,
so the flag may already be set.

Test: test-art-host
bug:34074968
Change-Id: I162b90a853ce53e6b7063754bbfce5d68cffc82a

7 years agoMerge "Revert "Revert "Avoid scratch register exhaustion during ARM64 stack slot...
Roland Levillain [Wed, 4 Jan 2017 15:26:32 +0000 (15:26 +0000)]
Merge "Revert "Revert "Avoid scratch register exhaustion during ARM64 stack slot moves."""
am: 001cd47ddd

Change-Id: I58e889a010f6683d329755626bc8187ab8b9612a

7 years agoMerge "Revert "Revert "Avoid scratch register exhaustion during ARM64 stack slot...
Roland Levillain [Wed, 4 Jan 2017 15:22:32 +0000 (15:22 +0000)]
Merge "Revert "Revert "Avoid scratch register exhaustion during ARM64 stack slot moves."""

7 years agoMerge "Support non-exact upper bound of HBoundType."
Nicolas Geoffray [Wed, 4 Jan 2017 12:41:23 +0000 (12:41 +0000)]
Merge "Support non-exact upper bound of HBoundType."
am: b28c8749a5

Change-Id: Id64939c8ed1c9920b314a2d11ef2af56a9bb03df

7 years agoRevert "Revert "Avoid scratch register exhaustion during ARM64 stack slot moves.""
Roland Levillain [Wed, 4 Jan 2017 10:27:50 +0000 (10:27 +0000)]
Revert "Revert "Avoid scratch register exhaustion during ARM64 stack slot moves.""

This reverts commit 122ceb492f37e97d022cba2221a87368f1847f5f.

Test: m test-art-target on ARM64, with and without read barriers/heap poisoning.
Bug: 32545705
Change-Id: I4b447d762082eea8edfabeb070317d274e2f5bd0

7 years agoMerge "Support non-exact upper bound of HBoundType."
Nicolas Geoffray [Wed, 4 Jan 2017 12:38:29 +0000 (12:38 +0000)]
Merge "Support non-exact upper bound of HBoundType."

7 years agoMerge "Do not record dependencies on arrays."
Nicolas Geoffray [Wed, 4 Jan 2017 12:12:53 +0000 (12:12 +0000)]
Merge "Do not record dependencies on arrays."
am: 88268f08ad

Change-Id: I60d860cd6a023e5a2b824396d9ea3d709fa41b09

7 years agoMerge "Do not record dependencies on arrays."
Treehugger Robot [Wed, 4 Jan 2017 12:10:41 +0000 (12:10 +0000)]
Merge "Do not record dependencies on arrays."

7 years agoMerge "MIPS64: Drop redundant sign-extensions in integer conversions"
Goran Jakovljevic [Wed, 4 Jan 2017 11:50:22 +0000 (11:50 +0000)]
Merge "MIPS64: Drop redundant sign-extensions in integer conversions"
am: 6fc063cd8a

Change-Id: I83e6c3904b12dd6e143129825d7950497cf4069c

7 years agoMerge "MIPS64: Drop redundant sign-extensions in integer conversions"
Treehugger Robot [Wed, 4 Jan 2017 11:47:50 +0000 (11:47 +0000)]
Merge "MIPS64: Drop redundant sign-extensions in integer conversions"

7 years agoMerge "MIPS32: Don't always do a null test in MarkGCCard"
Goran Jakovljevic [Wed, 4 Jan 2017 11:34:51 +0000 (11:34 +0000)]
Merge "MIPS32: Don't always do a null test in MarkGCCard"
am: 4ca40e89aa

Change-Id: Ic8bdf1a5a7d66b6ed9ef19a8e7f7000ec26c2e85

7 years agoMerge "MIPS64: Improve integer comparison with constants"
Goran Jakovljevic [Wed, 4 Jan 2017 11:32:53 +0000 (11:32 +0000)]
Merge "MIPS64: Improve integer comparison with constants"
am: 7ee9ee9921

Change-Id: I00bd014b5340d5509b96a205a692ae87211bf66b

7 years agoMerge "MIPS32: Don't always do a null test in MarkGCCard"
Treehugger Robot [Wed, 4 Jan 2017 11:31:52 +0000 (11:31 +0000)]
Merge "MIPS32: Don't always do a null test in MarkGCCard"

7 years agoMerge "MIPS64: Improve integer comparison with constants"
Treehugger Robot [Wed, 4 Jan 2017 11:30:15 +0000 (11:30 +0000)]
Merge "MIPS64: Improve integer comparison with constants"

7 years agoMerge changes from topic 'VIXLUpdate'
Nicolas Geoffray [Wed, 4 Jan 2017 10:09:32 +0000 (10:09 +0000)]
Merge changes from topic 'VIXLUpdate'
am: 059802455e

Change-Id: I5b85d6ef53d47d1a5fed422a96795fb81de0a063

7 years agoARM: VIXL32: Use a default code buffer capacity of 1Kb.
Scott Wakeling [Wed, 4 Jan 2017 10:09:28 +0000 (10:09 +0000)]
ARM: VIXL32: Use a default code buffer capacity of 1Kb.
am: f8d19c2852

Change-Id: I2619d712f7af0127692407bf37a2968c34b868ea

7 years agoART: VIXL32: Fix assembler test after VIXL update.
Artem Serov [Wed, 4 Jan 2017 10:09:19 +0000 (10:09 +0000)]
ART: VIXL32: Fix assembler test after VIXL update.
am: f2665fa6e5

Change-Id: I5c6e97bbcdb56aaf66764dd8837fefdbb0270b1e

7 years agoMerge "MIPS64: Implement branchless HCondition for floats"
Nicolas Geoffray [Wed, 4 Jan 2017 10:08:04 +0000 (10:08 +0000)]
Merge "MIPS64: Implement branchless HCondition for floats"
am: e2157fb29e

Change-Id: I5cd74fb1b95b2e20c8b3e27918fbf3fb4a6d8b4b

7 years agoMerge "Disable libcore test that requires IPv6"
Yi Kong [Wed, 4 Jan 2017 10:07:23 +0000 (10:07 +0000)]
Merge "Disable libcore test that requires IPv6"
am: 0ec9ac0a5f

Change-Id: Ie611e75ecf8659a4cf8b71f33ac05732607ccf51

7 years agoMerge changes from topic 'VIXLUpdate'
Nicolas Geoffray [Wed, 4 Jan 2017 10:06:27 +0000 (10:06 +0000)]
Merge changes from topic 'VIXLUpdate'

* changes:
  ARM: VIXL32: Use a default code buffer capacity of 1Kb.
  ART: VIXL32: Fix assembler test after VIXL update.

7 years agoMerge "MIPS64: Implement branchless HCondition for floats"
Nicolas Geoffray [Wed, 4 Jan 2017 10:04:08 +0000 (10:04 +0000)]
Merge "MIPS64: Implement branchless HCondition for floats"

7 years agoMerge "Disable libcore test that requires IPv6"
Yi Kong [Wed, 4 Jan 2017 10:03:00 +0000 (10:03 +0000)]
Merge "Disable libcore test that requires IPv6"

7 years agoDisable libcore test that requires IPv6
Yi Kong [Wed, 4 Jan 2017 00:55:10 +0000 (00:55 +0000)]
Disable libcore test that requires IPv6

Test: N/A
Bug: 25178637
Bug: 34038136
Change-Id: I14c7451d269ee8f1163369d8c0d2209498466b66

7 years agoMerge "Clean up VerifiedMethod."
Nicolas Geoffray [Tue, 3 Jan 2017 22:47:03 +0000 (22:47 +0000)]
Merge "Clean up VerifiedMethod."
am: b1c41c2431

Change-Id: Ibfb35a9eb02b17f77371a573658ada399bf43b0a

7 years agoMerge "Clean up VerifiedMethod."
Treehugger Robot [Tue, 3 Jan 2017 22:33:12 +0000 (22:33 +0000)]
Merge "Clean up VerifiedMethod."

7 years agoClean up VerifiedMethod.
Nicolas Geoffray [Fri, 25 Nov 2016 15:46:48 +0000 (15:46 +0000)]
Clean up VerifiedMethod.

Remove unused methods, and devirt map.

Results on a large well-known app in speed compile with -j4:

Before:
 dex2oat took [...] native alloc=149MB [...] swap=208MB (218103808B)
After:
 dex2oat took [...] native alloc=84MB [...] swap=208MB (218103808B)

Bug: 34053922
Test: m clean-oat-host && m test-art-host
Change-Id: I0791c1e4ec7a98ae3c98321c582974db8e26617d

7 years agoMerge "Revert "Avoid scratch register exhaustion during ARM64 stack slot moves.""
Nicolas Geoffray [Tue, 3 Jan 2017 21:42:29 +0000 (21:42 +0000)]
Merge "Revert "Avoid scratch register exhaustion during ARM64 stack slot moves.""
am: db577b6911

Change-Id: If6d1d1c3bedfde8378425b519dd732cb494876ee

7 years agoMerge "Revert "Avoid scratch register exhaustion during ARM64 stack slot moves.""
Nicolas Geoffray [Tue, 3 Jan 2017 21:35:22 +0000 (21:35 +0000)]
Merge "Revert "Avoid scratch register exhaustion during ARM64 stack slot moves.""

7 years agoRevert "Avoid scratch register exhaustion during ARM64 stack slot moves."
Nicolas Geoffray [Tue, 3 Jan 2017 21:34:59 +0000 (21:34 +0000)]
Revert "Avoid scratch register exhaustion during ARM64 stack slot moves."

Checker test fails.
Bug: 32545705

This reverts commit 4ec76d28f0f808117272134347abf828eea80b91.

Change-Id: Ief14978596341399404c504ec4ca6b68c54fd63c

7 years agoMerge "MIPS64: Align register spills on 8-byte boundaries in slow paths"
Nicolas Geoffray [Tue, 3 Jan 2017 20:51:26 +0000 (20:51 +0000)]
Merge "MIPS64: Align register spills on 8-byte boundaries in slow paths"
am: 595375fc44

Change-Id: Ia4e9e9a65f9d3c48532983bff3205acc6590e0e3

7 years agoMerge "MIPS64: Align register spills on 8-byte boundaries in slow paths"
Nicolas Geoffray [Tue, 3 Jan 2017 20:43:00 +0000 (20:43 +0000)]
Merge "MIPS64: Align register spills on 8-byte boundaries in slow paths"

7 years agoMIPS32: java.lang.String.getChars
Chris Larsen [Tue, 22 Nov 2016 00:04:53 +0000 (16:04 -0800)]
MIPS32: java.lang.String.getChars

Use memcpy(3) to copy characters under the assumption that memcpy()
has been hand optimized for best performance on the platform being
tested.

Test: run-test --optimizing 020-string
Test: run-test 020-string
Test: run-test --no-prebuild --optimizing 020-string
Test: run-test --no-prebuild 020-string
Test: run-test --optimizing 082-inline-execute
Test: run-test 082-inline-execute
Test: run-test --no-prebuild --optimizing 082-inline-execute
Test: run-test --no-prebuild 082-inline-execute
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: I4192cf6244db120c8de5cc4932d4132acfc9740d

7 years agoMerge "Avoid scratch register exhaustion during ARM64 stack slot moves."
Roland Levillain [Tue, 3 Jan 2017 15:51:38 +0000 (15:51 +0000)]
Merge "Avoid scratch register exhaustion during ARM64 stack slot moves."
am: 00797355fa

Change-Id: I6edabfc4aa252d8308f6e0baa6b81887fa4357e3

7 years agoMerge "Avoid scratch register exhaustion during ARM64 stack slot moves."
Roland Levillain [Tue, 3 Jan 2017 15:45:44 +0000 (15:45 +0000)]
Merge "Avoid scratch register exhaustion during ARM64 stack slot moves."

7 years agoAvoid scratch register exhaustion during ARM64 stack slot moves.
Roland Levillain [Mon, 7 Nov 2016 18:50:32 +0000 (18:50 +0000)]
Avoid scratch register exhaustion during ARM64 stack slot moves.

On ARM64, do not limit the selection of a scratch register
used in a move between two stack slots (or between two
double stack slots) to VIXL's floating-point register pool,
as it contains only one register (D31) and can be exhausted
in some rare cases. Instead, query both the core and the FP
register pools.

Add a regression run-test (626-checker-arm64-scratch-register).

Test: m test-art-target (on ARM64)
Bug: 32545705
Change-Id: I6203a4340e3c8b4f4879c07ed1be4c433c311c0f

7 years agoMerge "MIPS64: java.lang.String.getChars"
Chris Larsen [Tue, 3 Jan 2017 11:23:20 +0000 (11:23 +0000)]
Merge "MIPS64: java.lang.String.getChars"
am: 66e3919bc4

Change-Id: I1439b994fbd909923c02e16936dc5a60dfb88ec3

7 years agoMerge "MIPS64: java.lang.String.getChars"
Treehugger Robot [Tue, 3 Jan 2017 11:13:50 +0000 (11:13 +0000)]
Merge "MIPS64: java.lang.String.getChars"

7 years agoMIPS64: Implement branchless HCondition for floats
Tijana Jakovljevic [Fri, 30 Dec 2016 08:23:01 +0000 (09:23 +0100)]
MIPS64: Implement branchless HCondition for floats

Test: mma test-art-target-run-test64 in QEMU

Change-Id: I595b5b7ddf9ebb19e872ed85f2e4098a835d9214