OSDN Git Service
Alex Light [Fri, 6 Jan 2017 00:50:23 +0000 (00:50 +0000)]
Merge "Revert "Revert "Cleanup jvmti tests"""
am:
9890a5b579
Change-Id: I44a27f4655bf378c007d7f8814d251e3d04cce77
Alex Light [Fri, 6 Jan 2017 00:46:17 +0000 (00:46 +0000)]
Merge "Revert "Revert "Cleanup jvmti tests"""
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
Mathieu Chartier [Thu, 5 Jan 2017 23:59:14 +0000 (23:59 +0000)]
Merge "Add some code info checking in GetCalleeSaveMethodCaller"
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
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
Hans Boehm [Thu, 5 Jan 2017 22:15:30 +0000 (22:15 +0000)]
Merge "Reduce the number of fences needed for monitors"
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
Aart Bik [Thu, 5 Jan 2017 20:44:35 +0000 (20:44 +0000)]
Merge "Tests on FP Math.abs()"
am:
8a26281ead
Change-Id: I0264a6f44684e53e58830851a448f9f0e006f50c
Aart Bik [Thu, 5 Jan 2017 20:34:32 +0000 (20:34 +0000)]
Merge "Tests on FP Math.abs()"
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
Treehugger Robot [Thu, 5 Jan 2017 19:13:38 +0000 (19:13 +0000)]
Merge "Fix unquitable apps when debug enabled."
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
Treehugger Robot [Thu, 5 Jan 2017 18:16:14 +0000 (18:16 +0000)]
Merge "Revert "Revert "Revert "Revert "Basic obsolete methods support"""""
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
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
Treehugger Robot [Thu, 5 Jan 2017 17:37:56 +0000 (17:37 +0000)]
Merge "MIPS64: Implement table-based packed switch"
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
Treehugger Robot [Thu, 5 Jan 2017 16:55:53 +0000 (16:55 +0000)]
Merge "Remove 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
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
Nicolas Geoffray [Thu, 5 Jan 2017 14:57:29 +0000 (14:57 +0000)]
Merge "Refine receiver type when inlining based on inline caches."
Nicolas Geoffray [Thu, 5 Jan 2017 13:34:02 +0000 (13:34 +0000)]
Merge "MIPS32: java.lang.String.getChars"
am:
8174621224
Change-Id: I27aba6272c9c3d1af12af308089b4e0fbd72c75d
Nicolas Geoffray [Thu, 5 Jan 2017 13:27:14 +0000 (13:27 +0000)]
Merge "MIPS32: java.lang.String.getChars"
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
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
Vladimir Marko [Thu, 5 Jan 2017 12:45:35 +0000 (12:45 +0000)]
Merge "Revert "Disable 626-const-class-linking for JIT.""
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
Treehugger Robot [Thu, 5 Jan 2017 12:15:07 +0000 (12:15 +0000)]
Merge "Fix incorrect string hash value extension during cross-compilation."
Sebastien Hertz [Thu, 5 Jan 2017 10:36:20 +0000 (10:36 +0000)]
Merge "Limit Jack threads during tests"
am:
77e9bddee9
Change-Id: Ie998180dd59076fed3211c7b4aefbe22546ef872
Sebastien Hertz [Thu, 5 Jan 2017 10:28:56 +0000 (10:28 +0000)]
Merge "Limit 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
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
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
Treehugger Robot [Wed, 4 Jan 2017 22:59:02 +0000 (22:59 +0000)]
Merge "ART: 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
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
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."""
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
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
Nicolas Geoffray [Wed, 4 Jan 2017 12:38:29 +0000 (12:38 +0000)]
Merge "Support non-exact upper bound of HBoundType."
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
Treehugger Robot [Wed, 4 Jan 2017 12:10:41 +0000 (12:10 +0000)]
Merge "Do not record dependencies on arrays."
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
Treehugger Robot [Wed, 4 Jan 2017 11:47:50 +0000 (11:47 +0000)]
Merge "MIPS64: Drop redundant sign-extensions in integer conversions"
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
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
Treehugger Robot [Wed, 4 Jan 2017 11:31:52 +0000 (11:31 +0000)]
Merge "MIPS32: Don't always do a null test in MarkGCCard"
Treehugger Robot [Wed, 4 Jan 2017 11:30:15 +0000 (11:30 +0000)]
Merge "MIPS64: Improve integer comparison with constants"
Nicolas Geoffray [Wed, 4 Jan 2017 10:09:32 +0000 (10:09 +0000)]
Merge changes from topic 'VIXLUpdate'
am:
059802455e
Change-Id: I5b85d6ef53d47d1a5fed422a96795fb81de0a063
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
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
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
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
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.
Nicolas Geoffray [Wed, 4 Jan 2017 10:04:08 +0000 (10:04 +0000)]
Merge "MIPS64: Implement branchless HCondition for floats"
Yi Kong [Wed, 4 Jan 2017 10:03:00 +0000 (10:03 +0000)]
Merge "Disable 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
Nicolas Geoffray [Tue, 3 Jan 2017 22:47:03 +0000 (22:47 +0000)]
Merge "Clean up VerifiedMethod."
am:
b1c41c2431
Change-Id: Ibfb35a9eb02b17f77371a573658ada399bf43b0a
Treehugger Robot [Tue, 3 Jan 2017 22:33:12 +0000 (22:33 +0000)]
Merge "Clean 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
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
Nicolas Geoffray [Tue, 3 Jan 2017 21:35:22 +0000 (21:35 +0000)]
Merge "Revert "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
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
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"
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
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
Roland Levillain [Tue, 3 Jan 2017 15:45:44 +0000 (15:45 +0000)]
Merge "Avoid 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
Chris Larsen [Tue, 3 Jan 2017 11:23:20 +0000 (11:23 +0000)]
Merge "MIPS64: java.lang.String.getChars"
am:
66e3919bc4
Change-Id: I1439b994fbd909923c02e16936dc5a60dfb88ec3
Treehugger Robot [Tue, 3 Jan 2017 11:13:50 +0000 (11:13 +0000)]
Merge "MIPS64: java.lang.String.getChars"
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
Goran Jakovljevic [Wed, 28 Dec 2016 15:21:48 +0000 (16:21 +0100)]
MIPS64: Drop redundant sign-extensions in integer conversions
Test: mma test-art-target-run-test64 in QEMU
Change-Id: I1dc7923d89528964771ddca288c5016d729cfb05
Goran Jakovljevic [Wed, 28 Dec 2016 13:33:21 +0000 (14:33 +0100)]
MIPS64: Improve integer comparison with constants
Test: mma test-art-target-run-test64 in QEMU
Change-Id: Ib29855a3e268e0333602f47185c520c6cfb16b59
Goran Jakovljevic [Mon, 26 Dec 2016 13:21:43 +0000 (14:21 +0100)]
MIPS32: Don't always do a null test in MarkGCCard
Test: mma test-art-target-run-test on CI20
Change-Id: I38fac492bb76b06b9cffc9be16944fb22ed2db70
Aart Bik [Fri, 23 Dec 2016 00:55:52 +0000 (00:55 +0000)]
Merge "Revert "Tests on FP Math.abs()""
am:
6a14c62270
Change-Id: I210f6454f95bbe5dbeb10323b353f83ba36e7317
Treehugger Robot [Fri, 23 Dec 2016 00:44:54 +0000 (00:44 +0000)]
Merge "Revert "Tests on FP Math.abs()""
Alexey Frunze [Thu, 22 Dec 2016 21:54:23 +0000 (13:54 -0800)]
MIPS64: Align register spills on 8-byte boundaries in slow paths
64-bit loads/stores would otherwise be split into pairs of
32-bit ones.
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: test-art-target-run-test-optimizing (MIPS64R6) in QEMU
Change-Id: I4846d11b52b71507dfd5ca2e27b3f2a5befcc58e
Aart Bik [Thu, 22 Dec 2016 22:54:04 +0000 (22:54 +0000)]
Revert "Tests on FP Math.abs()"
This reverts commit
b67877704edf8a32e71ce825d7ab4703be39f8ce.
On art-relocate-no-patchoat (linux)
we saw
#################### info
# Tests on floating-point Math.abs.
#################### diffs
--- expected.txt 2016-12-22 21:33:16.
796152568 +0000
+++ output.txt 2016-12-22 21:44:16.
685738052 +0000
@@ -1 +1,3 @@
-passed
+Exception in thread "main" java.lang.Error: Expected: 0x7f800001, found: 0x7fc00001
+ at Main.expectEquals32(Main.java:140)
+ at Main.main(Main.java:85)
####################
Change-Id: If8d1bce9d4d20668661af82bbd08940787cd8252
Aart Bik [Thu, 22 Dec 2016 21:09:09 +0000 (21:09 +0000)]
Merge "Tests on FP Math.abs()"
am:
1e33d05866
Change-Id: Iacc0ec3d84e25b840cb1231e1a2ce48bde4bbfc0
Treehugger Robot [Thu, 22 Dec 2016 21:00:40 +0000 (21:00 +0000)]
Merge "Tests on FP Math.abs()"
Scott Wakeling [Tue, 20 Dec 2016 09:43:32 +0000 (09:43 +0000)]
ARM: VIXL32: Use a default code buffer capacity of 1Kb.
Test: mma test-art-host && mma test-art-target
Change-Id: I238c40e775338b63cbdb8868c09d0555b0c3b077
Artem Serov [Wed, 21 Dec 2016 18:42:21 +0000 (18:42 +0000)]
ART: VIXL32: Fix assembler test after VIXL update.
Veneer pool is emitted 4 bytes later, so the expected output for
the test has been adjusted.
Test: test-art-host
Test: test-art-target
Change-Id: I3d656224fd4151904b8096486adecb6ef1eafea6
Alexey Frunze [Wed, 21 Dec 2016 01:24:59 +0000 (17:24 -0800)]
MIPS64: Implement table-based packed switch
Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU
Test: test-art-target-run-test-optimizing (MIPS64R6) in QEMU
Test: test-art-host-gtest
Change-Id: I333dca43fca57ae7e6021bb84585487c889417c3
Alex Light [Wed, 21 Dec 2016 16:20:29 +0000 (08:20 -0800)]
Revert "Revert "Revert "Revert "Basic obsolete methods support""""
A GetDeclaringClass()->GetDexCache() got inserted during the
merge/review process meaning that we would try to access incorrect
dex-cache in obsolete methods in some situations.
Also when using tracing we would loop forever (or at least until an
OOM error) in test 916 due to tracing forcing InterpretOnly mode
meaning methods would never be jitted.
Bug:
32369913
Bug:
33630159
Test: ART_TEST_TRACE=true \
ART_TEST_JIT=true \
ART_TEST_INTERPRETER=true mma -j40 test-art-host
This reverts commit
f6abcda293b115a9d7d8a26376ea2dcf2d1dc510.
Change-Id: I0773bfcba52e3cd51a83be815c6a50c189558f48
Aart Bik [Wed, 21 Dec 2016 17:06:30 +0000 (17:06 +0000)]
Merge "Refactored compilation on host to own method. Added dx option."
am:
f827804c3d
Change-Id: I1a02265312b3a64e7746522197585212208f8f92
Aart Bik [Wed, 21 Dec 2016 16:59:12 +0000 (16:59 +0000)]
Merge "Refactored compilation on host to own method. Added dx option."
Nicolas Geoffray [Wed, 21 Dec 2016 15:06:46 +0000 (15:06 +0000)]
Do not record dependencies on arrays.
We do not record dependencies on arrays with component types in
the compiled DEX files, as the only thing that might change is their
access flags. If we were to change these flags in a breaking way, we would
need to enforce full verification again anyways.
Saves on doing type resolution during vdex update.
Test: test-art-host
Change-Id: Ib85e172a5cb99c2999eed8b6b37390aa6b5cac37
Nicolas Geoffray [Tue, 20 Dec 2016 09:25:42 +0000 (09:25 +0000)]
Support non-exact upper bound of HBoundType.
It used to not affect the analysis, but in order to recognize:
if (foo.getClass() == Foo.class)
We now need to differentiate between an exact and a non-exact
upper bound. Until now the "exact" flag on upper bounds was
there for convenience:
1) re-use of the same data structure
2) we mostly cared about HLoadClass as upper bounds.
Test: test-art-host
Test: master build with prebuilts
Test: apk scanner
Change-Id: I3a1f5e4d489a715a4545becee4c8c80f7d152fc0
Nicolas Geoffray [Wed, 21 Dec 2016 14:23:20 +0000 (14:23 +0000)]
Merge "Update vdex in place if input_vdex_fd == output_vdex_fd"
am:
cb2ce333ee
Change-Id: I43e2c3bb8a8133493c7d4724c9514a64b22b420c
Nicolas Geoffray [Wed, 21 Dec 2016 14:12:41 +0000 (14:12 +0000)]
Merge "Update vdex in place if input_vdex_fd == output_vdex_fd"
Nicolas Geoffray [Wed, 21 Dec 2016 13:37:48 +0000 (13:37 +0000)]
Merge "Point optimizations for vdex."
am:
bde1168f3b
Change-Id: I8ed430a862b5ab6e2d5d501d11b8242e2c8c62c3
Nicolas Geoffray [Wed, 21 Dec 2016 13:30:48 +0000 (13:30 +0000)]
Merge "Point optimizations for vdex."
Nicolas Geoffray [Wed, 21 Dec 2016 12:37:13 +0000 (12:37 +0000)]
Merge "Optimize OatWriter when we don't compile any method."
am:
454f339775
Change-Id: I28a6e8d1826d8f71a5109e25391703801324b79a
Nicolas Geoffray [Wed, 21 Dec 2016 12:30:10 +0000 (12:30 +0000)]
Merge "Optimize OatWriter when we don't compile any method."
Nicolas Geoffray [Wed, 21 Dec 2016 12:23:44 +0000 (12:23 +0000)]
Merge "Remove soon to be obsolete call kinds for direct calls."
am:
56e2f93699
Change-Id: I2f21012b21068fa4e92a0bb697b741b88024ee12
Nicolas Geoffray [Wed, 21 Dec 2016 12:17:42 +0000 (12:17 +0000)]
Merge "Remove soon to be obsolete call kinds for direct calls."
Nicolas Geoffray [Wed, 21 Dec 2016 10:29:43 +0000 (10:29 +0000)]
Point optimizations for vdex.
- Do not record assignability due to not optimized CHECKCAST.
- Do not record that j.l.Object must not be assignable to other types.
- Chase the super class boundary to avoid recording a dependency
on a local class. This avoids doing type resolution of that class when
verifying the VerifierDeps.
Test: test-art-host
bug:
30937355
Change-Id: Ibcee205451f23958c759ddcca7f88fe9003d37a9
Nicolas Geoffray [Tue, 20 Dec 2016 21:15:00 +0000 (21:15 +0000)]
Optimize OatWriter when we don't compile any method.
- Don't write any quickening info.
- Don't visit methods.
Saves ~20% of compilation times.
Test: test-art-host
Change-Id: Ib18fd06c0ca42308e1d81401de0ee3e6297de0ce