OSDN Git Service

android-x86/art.git
7 years agoMerge "Simplify the collector names."
Hiroshi Yamauchi [Mon, 9 Jan 2017 20:33:22 +0000 (20:33 +0000)]
Merge "Simplify the collector names."
am: c6cbe3cdeb

Change-Id: Id67627117319183661438edccaca85a6d304a1cd

7 years agoMerge "ART: Add trivial implementation of extensions"
Andreas Gampe [Mon, 9 Jan 2017 20:33:06 +0000 (20:33 +0000)]
Merge "ART: Add trivial implementation of extensions"
am: eeb1ca64da

Change-Id: I5ba6dc20b0cca5849c712362c6b448554eb2049b

7 years agoMerge "Simplify the collector names."
Hiroshi Yamauchi [Mon, 9 Jan 2017 20:26:01 +0000 (20:26 +0000)]
Merge "Simplify the collector names."

7 years agoMerge "ART: Add trivial implementation of extensions"
Treehugger Robot [Mon, 9 Jan 2017 20:25:59 +0000 (20:25 +0000)]
Merge "ART: Add trivial implementation of extensions"

7 years agoART: Add trivial implementation of extensions
Andreas Gampe [Mon, 9 Jan 2017 18:50:17 +0000 (10:50 -0800)]
ART: Add trivial implementation of extensions

We do not need extension support.

Bug: 31455788
Test: m test-art-host
Change-Id: I40e9435ad3ffee83070c522a1938509db4cc889e

7 years agoMerge "ART: Add GetObjectSize and GetObjectHashCode"
Andreas Gampe [Mon, 9 Jan 2017 17:58:24 +0000 (17:58 +0000)]
Merge "ART: Add GetObjectSize and GetObjectHashCode"
am: 8cf62ddb99

Change-Id: Ia691573a79f27a4ef27e56eefe0524d49fe74495

7 years agoMerge "ART: Add GetObjectSize and GetObjectHashCode"
Treehugger Robot [Mon, 9 Jan 2017 17:53:25 +0000 (17:53 +0000)]
Merge "ART: Add GetObjectSize and GetObjectHashCode"

7 years agoMerge "Find the classpath boundary for being assignable to an interface."
Nicolas Geoffray [Sat, 7 Jan 2017 13:52:50 +0000 (13:52 +0000)]
Merge "Find the classpath boundary for being assignable to an interface."
am: 91db41f315

Change-Id: Ib0ac9d0f6367701a6772748e41446040b07600e3

7 years agoMerge "Find the classpath boundary for being assignable to an interface."
Nicolas Geoffray [Sat, 7 Jan 2017 13:46:59 +0000 (13:46 +0000)]
Merge "Find the classpath boundary for being assignable to an interface."

7 years agoFind the classpath boundary for being assignable to an interface.
Nicolas Geoffray [Wed, 21 Dec 2016 16:54:52 +0000 (16:54 +0000)]
Find the classpath boundary for being assignable to an interface.

Test: verifier_deps_test, test-art-host

Change-Id: Icab3a5a9f94f6a38fa8ef320f93ac14691a732d3

7 years agoART: Add GetObjectSize and GetObjectHashCode
Andreas Gampe [Sat, 7 Jan 2017 02:00:20 +0000 (18:00 -0800)]
ART: Add GetObjectSize and GetObjectHashCode

Add support for these two functions. Add tests.

Bug: 31684578
Test: m test-art-host-run-test-920-objects
Change-Id: If5dfb5aedddee47e5d739b0c56c7d264ba6e2d51

7 years agoMerge "Revert "Revert "Create test for field access in obsolete methods."""
Alex Light [Sat, 7 Jan 2017 02:26:39 +0000 (02:26 +0000)]
Merge "Revert "Revert "Create test for field access in obsolete methods."""
am: dd5a42753d

Change-Id: I649bab26adb56dd2b1cf8b1dc85de8147b38a4c1

7 years agoMerge "Revert "Revert "Create test for field access in obsolete methods."""
Treehugger Robot [Sat, 7 Jan 2017 02:20:28 +0000 (02:20 +0000)]
Merge "Revert "Revert "Create test for field access in obsolete methods."""

7 years agoMerge "Make GetErrorName allocate the output buffer."
Alex Light [Sat, 7 Jan 2017 02:14:09 +0000 (02:14 +0000)]
Merge "Make GetErrorName allocate the output buffer."
am: d4abdaf889

Change-Id: I81e6521850ccfdd5371af3c4dbcb2d49b789c073

7 years agoMerge "Make GetErrorName allocate the output buffer."
Treehugger Robot [Sat, 7 Jan 2017 02:07:08 +0000 (02:07 +0000)]
Merge "Make GetErrorName allocate the output buffer."

7 years agoMerge "ART: Add GetClassLoader"
Andreas Gampe [Sat, 7 Jan 2017 02:02:08 +0000 (02:02 +0000)]
Merge "ART: Add GetClassLoader"
am: 0bf5ddc601

Change-Id: I893925bd8e30631cd711ca891940189320b325b5

7 years agoMerge "ART: Add GetClassLoader"
Treehugger Robot [Sat, 7 Jan 2017 01:55:10 +0000 (01:55 +0000)]
Merge "ART: Add GetClassLoader"

7 years agoART: Add GetClassLoader
Andreas Gampe [Fri, 6 Jan 2017 23:50:55 +0000 (15:50 -0800)]
ART: Add GetClassLoader

Add support for GetClassLoader. Add a test.

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

7 years agoMerge "ART: Add GetImplementedInterfaces"
Andreas Gampe [Fri, 6 Jan 2017 23:56:59 +0000 (23:56 +0000)]
Merge "ART: Add GetImplementedInterfaces"
am: 2d02f857d3

Change-Id: Id1d25346c1c01fcc49716e6762637a5af4ccf416

7 years agoMerge "ART: Add GetImplementedInterfaces"
Andreas Gampe [Fri, 6 Jan 2017 23:49:35 +0000 (23:49 +0000)]
Merge "ART: Add GetImplementedInterfaces"

7 years agoMerge changes Ia14276d3,I7f063806
Andreas Gampe [Fri, 6 Jan 2017 23:09:35 +0000 (23:09 +0000)]
Merge changes Ia14276d3,I7f063806
am: 1b2f6c36c7

Change-Id: Ib274eaefc1e46db03bca7dbe03bc6d99b30746eb

7 years agoART: Add GetClassModifiers
Andreas Gampe [Fri, 6 Jan 2017 23:09:34 +0000 (23:09 +0000)]
ART: Add GetClassModifiers
am: 64013e5b5a

Change-Id: I299317fb59000b673fbfae6744faecb61d6e90d3

7 years agoART: Add GetClassMethods
Andreas Gampe [Fri, 6 Jan 2017 23:09:25 +0000 (23:09 +0000)]
ART: Add GetClassMethods
am: 18fee4d8e1

Change-Id: Ifadc60233ce0373a88cf043e02365e0db9174c53

7 years agoMerge changes Ia14276d3,I7f063806
Andreas Gampe [Fri, 6 Jan 2017 23:03:37 +0000 (23:03 +0000)]
Merge changes Ia14276d3,I7f063806

* changes:
  ART: Add GetClassModifiers
  ART: Add GetClassMethods

7 years agoSimplify the collector names.
Hiroshi Yamauchi [Fri, 6 Jan 2017 23:03:26 +0000 (15:03 -0800)]
Simplify the collector names.

To make it easier to distinguish the collector names in the GC logs.

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

7 years agoMake GetErrorName allocate the output buffer.
Alex Light [Fri, 6 Jan 2017 22:44:23 +0000 (14:44 -0800)]
Make GetErrorName allocate the output buffer.

Previously we were simply returning a static pointer which isn't
allowed by the spec.

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

7 years agoRevert "Revert "Create test for field access in obsolete methods.""
Alex Light [Fri, 6 Jan 2017 16:58:19 +0000 (16:58 +0000)]
Revert "Revert "Create test for field access in obsolete methods.""

This reverts commit b710a0e0e32193d345a4bfeb93649de2503489be.

Reason for revert: Fixed test issue

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

Change-Id: I30b758a61afa0eb132af239e8071ea79eab58ac1

7 years agoART: Add GetImplementedInterfaces
Andreas Gampe [Fri, 6 Jan 2017 22:20:39 +0000 (14:20 -0800)]
ART: Add GetImplementedInterfaces

Add support for GetImplementedInterfaces. Add a test. Add cleanup
to some existing tests.

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

7 years agoMerge "Also use ThreadList::Dump() in empty checkpoint timeout."
Hiroshi Yamauchi [Fri, 6 Jan 2017 21:13:46 +0000 (21:13 +0000)]
Merge "Also use ThreadList::Dump() in empty checkpoint timeout."
am: 2c5315bf01

Change-Id: If2fe9ff6cb276e3fa28d2dc57ced65d40fab4fa0

7 years agoART: Add GetClassModifiers
Andreas Gampe [Fri, 6 Jan 2017 21:07:19 +0000 (13:07 -0800)]
ART: Add GetClassModifiers

Add support for GetClassModifiers. Add a test.

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

7 years agoMerge "Also use ThreadList::Dump() in empty checkpoint timeout."
Treehugger Robot [Fri, 6 Jan 2017 21:07:06 +0000 (21:07 +0000)]
Merge "Also use ThreadList::Dump() in empty checkpoint timeout."

7 years agoMerge "ART: Add GetClassStatus"
Andreas Gampe [Fri, 6 Jan 2017 20:04:20 +0000 (20:04 +0000)]
Merge "ART: Add GetClassStatus"
am: 96bfa96101

Change-Id: I09d57156db6cbae0cc649e15074e0be6d94d7dfb

7 years agoART: Add GetClassMethods
Andreas Gampe [Fri, 6 Jan 2017 19:36:35 +0000 (11:36 -0800)]
ART: Add GetClassMethods

Add GetClassMethods support. Add a test.

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

7 years agoMerge "ART: Add GetClassStatus"
Treehugger Robot [Fri, 6 Jan 2017 19:58:30 +0000 (19:58 +0000)]
Merge "ART: Add GetClassStatus"

7 years agoMerge changes Id7509ef1,Id33b8c54,I2f9e5c62
Andreas Gampe [Fri, 6 Jan 2017 19:06:00 +0000 (19:06 +0000)]
Merge changes Id7509ef1,Id33b8c54,I2f9e5c62
am: ba16a82138

Change-Id: I7b395996ba609af0edc0ded00c38ff37a26df569

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 changes Id7509ef1,Id33b8c54,I2f9e5c62
Treehugger Robot [Fri, 6 Jan 2017 18:59:54 +0000 (18:59 +0000)]
Merge changes Id7509ef1,Id33b8c54,I2f9e5c62

* changes:
  ART: Add GetClassFields support
  ART: Add Field methods
  ART: Add IsInterface and IsArrayClass support

7 years agoAlso use ThreadList::Dump() in empty checkpoint timeout.
Hiroshi Yamauchi [Fri, 6 Jan 2017 18:45:17 +0000 (10:45 -0800)]
Also use ThreadList::Dump() in empty checkpoint timeout.

After dumping runnable threading that haven't responded to the empty
checkpoint request, use ThreadList::Dump() to try to dump the other
threads, noting that it may get stuck, but it's the end of logging
anyway. This should help diagnose the timeout better as we would be
able to see more threads.

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

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 GetClassStatus
Andreas Gampe [Fri, 6 Jan 2017 17:12:49 +0000 (09:12 -0800)]
ART: Add GetClassStatus

Add support for GetClassStatus. Add a test.

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

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