OSDN Git Service
Alex Light [Mon, 25 Jul 2016 21:43:02 +0000 (21:43 +0000)]
Merge \\"Make java 8 run-tests runnable on the RI again.\\" am:
659ad8fe6b
am:
e18ea7f2f2
Change-Id: I3430f7ea91b24810c09543aa783cd98f6723dccb
Alex Light [Mon, 25 Jul 2016 21:40:38 +0000 (21:40 +0000)]
Merge \"Make java 8 run-tests runnable on the RI again.\"
am:
659ad8fe6b
Change-Id: I73852191af8517db26adf0f7b744441853c05187
Treehugger Robot [Mon, 25 Jul 2016 21:31:19 +0000 (21:31 +0000)]
Merge "Make java 8 run-tests runnable on the RI again."
Richard Uhler [Mon, 25 Jul 2016 20:25:58 +0000 (20:25 +0000)]
Merge \\"Launch ahat server before processing the heap dump.\\" am:
0abe10a59b
am:
cc706a4a1b
Change-Id: I854871991844e05c82e94f969b76db0093fd509a
Richard Uhler [Mon, 25 Jul 2016 20:22:59 +0000 (20:22 +0000)]
Merge \"Launch ahat server before processing the heap dump.\"
am:
0abe10a59b
Change-Id: I051ad88d1460d129a5eb65fc36a6e28354bbc251
Treehugger Robot [Mon, 25 Jul 2016 20:18:25 +0000 (20:18 +0000)]
Merge "Launch ahat server before processing the heap dump."
Alex Light [Mon, 25 Jul 2016 19:09:26 +0000 (19:09 +0000)]
Merge \\"Fix stream-tracing with default methods\\" am:
38be534337
am:
2382f012bb
Change-Id: I420d52342c2d08ab2ede048372b362c642d4a0d2
Alex Light [Mon, 25 Jul 2016 19:05:26 +0000 (19:05 +0000)]
Merge \"Fix stream-tracing with default methods\"
am:
38be534337
Change-Id: Ibad99838d15d0b87ea5ba1fe897f27d4ba83f447
Treehugger Robot [Mon, 25 Jul 2016 18:44:11 +0000 (18:44 +0000)]
Merge "Fix stream-tracing with default methods"
Aart Bik [Mon, 25 Jul 2016 18:01:17 +0000 (18:01 +0000)]
Merge \\"Make static helper methods member functions of OptimizingCompiler class\\" am:
a69e790ad9
am:
d786250bbb
Change-Id: I9401fc2711224c9c47285738bb139e25befb82c0
Wojciech Staszkiewicz [Mon, 25 Jul 2016 17:58:19 +0000 (17:58 +0000)]
Merge \"Make static helper methods member functions of OptimizingCompiler class\"
am:
a69e790ad9
Change-Id: Iaf23b0f1163ac836a3a4e4c5319517388e6cfa62
Aart Bik [Mon, 25 Jul 2016 17:53:51 +0000 (17:53 +0000)]
Merge "Make static helper methods member functions of OptimizingCompiler class"
Alex Light [Tue, 19 Jul 2016 18:21:32 +0000 (11:21 -0700)]
Fix stream-tracing with default methods
Test: Ran mma ART_TEST_TRACE=true ART_TEST_TRACE_STREAM=true -j40 test-art-host
Bug:
30102284
Bug:
30286605
Change-Id: I12f2534bc2d42a7504e6c1972c4cfdda2f77286f
Andreas Gampe [Mon, 25 Jul 2016 17:41:31 +0000 (17:41 +0000)]
Merge \\"Revert \\"Revert \\"ART: Add dex2oat swap usage test\\"\\"\\" am:
edbecee66f
am:
37d11c693a
Change-Id: Ia5b8bc6d23018bf14b9200ef74899ba7558b8449
Andreas Gampe [Mon, 25 Jul 2016 17:37:01 +0000 (17:37 +0000)]
Merge \"Revert \"Revert \"ART: Add dex2oat swap usage test\"\"\"
am:
edbecee66f
Change-Id: I3321270cf3746b172208b628dbddc968db1c5482
Treehugger Robot [Mon, 25 Jul 2016 17:27:55 +0000 (17:27 +0000)]
Merge "Revert "Revert "ART: Add dex2oat swap usage test"""
Mathieu Chartier [Mon, 25 Jul 2016 16:56:26 +0000 (16:56 +0000)]
Merge \\"Add fast path to arm64 READ_BARRIER macro\\" am:
a71ad9a2d3
am:
fb2092dab3
Change-Id: Ie0dedfae86f63ecfa0cf393d372070ea42fbfa0a
Mathieu Chartier [Mon, 25 Jul 2016 16:52:59 +0000 (16:52 +0000)]
Merge \"Add fast path to arm64 READ_BARRIER macro\"
am:
a71ad9a2d3
Change-Id: I0bebdeed40c436e59f294e2c2b94c7ac6085b374
Mathieu Chartier [Mon, 25 Jul 2016 16:44:33 +0000 (16:44 +0000)]
Merge "Add fast path to arm64 READ_BARRIER macro"
Andreas Gampe [Mon, 25 Jul 2016 15:27:35 +0000 (08:27 -0700)]
Revert "Revert "ART: Add dex2oat swap usage test""
Now correctly ignores the target (but with enough infrastructure
to introduce this some day).
This reverts commit
ec743ffd47ac9d3c10a449926d78c2eb51e5208e.
Bug:
29259363
Test: m test-art-host-gtest-dex2oat_test
Test: m test-art-target-gtest-dex2oat_test (shamu)
Change-Id: I11b4e755bc8cb1e2eea29cd006e8df67df632c00
Roland Levillain [Mon, 25 Jul 2016 15:00:49 +0000 (15:00 +0000)]
Merge \\"Do not emit stack maps for runtime calls to ReadBarrierMarkRegX.\\" am:
de4cf16f46
am:
6c652d78ce
Change-Id: Ic398c02cb7e3a3ffb1029681b3ac6c36eaaaba0c
Roland Levillain [Mon, 25 Jul 2016 14:57:22 +0000 (14:57 +0000)]
Merge \"Do not emit stack maps for runtime calls to ReadBarrierMarkRegX.\"
am:
de4cf16f46
Change-Id: I58975c1fa1cdc2627b5fdee0d84322b8282a6411
Roland Levillain [Mon, 25 Jul 2016 14:49:51 +0000 (14:49 +0000)]
Merge "Do not emit stack maps for runtime calls to ReadBarrierMarkRegX."
Andreas Gampe [Sat, 23 Jul 2016 06:14:45 +0000 (06:14 +0000)]
Merge \\"Revert \\"ART: Add dex2oat swap usage test\\"\\" am:
c4aa896181
am:
da07be90c5
Change-Id: I9744169d0d5f109f07d1c67f3ed55ee19ba645fb
Andreas Gampe [Sat, 23 Jul 2016 06:11:47 +0000 (06:11 +0000)]
Merge \"Revert \"ART: Add dex2oat swap usage test\"\"
am:
c4aa896181
Change-Id: I61c6aa7d5057a49639312262bc74f9162c827a70
Treehugger Robot [Sat, 23 Jul 2016 06:04:13 +0000 (06:04 +0000)]
Merge "Revert "ART: Add dex2oat swap usage test""
Andreas Gampe [Sat, 23 Jul 2016 05:17:18 +0000 (05:17 +0000)]
Revert "ART: Add dex2oat swap usage test"
The test doesn't correctly exclude the target, as it will only work
on the host.
This reverts commit
ab2a54093386c85756fe78daedd11ff4408a5988.
Bug:
29259363
Change-Id: Ie50df2e6f0c63cb10359c3862ad44ee3c03d4e3b
Mathieu Chartier [Thu, 21 Jul 2016 21:59:04 +0000 (14:59 -0700)]
Add fast path to arm64 READ_BARRIER macro
EAAC benchmark time from 978.7857143ms to 969.5714286ms on N9 based
on 42 samples. Reduces artReadBarrierSlow calls from 9M to 1M.
Not a huge improvement since we were already checking the lock word in
ReadBarrier::Barrier.
Test: N9 boots, test-art-host, EEAC runs. (All with CC enabled).
Bug:
30162165
Bug:
12687968
Change-Id: Ifb97b52ea84e21c7df83addfb91c5f05f41db32d
Andreas Gampe [Fri, 22 Jul 2016 22:50:51 +0000 (22:50 +0000)]
Merge \\"ART: Change run-*-tests to ANDROID_{HOST|PRODUCT}_OUT\\" am:
115c1de1f8
am:
88b5cdb5be
Change-Id: Ic5a32cf1eba832fe189c720898185ae876479bc7
Andreas Gampe [Fri, 22 Jul 2016 22:50:51 +0000 (22:50 +0000)]
Merge \\"ART: Add dex2oat swap usage test\\" am:
da2b8dc3ed
am:
f11b3aa623
Change-Id: I8164b21964584a3caeaee79689a0453ab6c9717a
Andreas Gampe [Fri, 22 Jul 2016 22:47:55 +0000 (22:47 +0000)]
Merge \"ART: Change run-*-tests to ANDROID_{HOST|PRODUCT}_OUT\"
am:
115c1de1f8
Change-Id: I6a977a1a3ed81c25ce20c43ee55a55c2028d20b1
Andreas Gampe [Fri, 22 Jul 2016 22:47:53 +0000 (22:47 +0000)]
Merge \"ART: Add dex2oat swap usage test\"
am:
da2b8dc3ed
Change-Id: I019cccda99f190384f57bf2e23909ed79a74dc2d
Wojciech Staszkiewicz [Fri, 22 Jul 2016 20:33:11 +0000 (13:33 -0700)]
Make static helper methods member functions of OptimizingCompiler class
Make RunOptimizations, MaybeRunInliner and RunArchOptimizations member
functions of OptimizingCompiler class.
Both versions of RunOptimizations are protected in preparation for
bisection bug search CL.
Change-Id: I596efa9ed3fccd1ed3798c6427cc166e2a5d28bd
Treehugger Robot [Fri, 22 Jul 2016 22:32:08 +0000 (22:32 +0000)]
Merge "ART: Change run-*-tests to ANDROID_{HOST|PRODUCT}_OUT"
Treehugger Robot [Fri, 22 Jul 2016 22:31:37 +0000 (22:31 +0000)]
Merge "ART: Add dex2oat swap usage test"
Aart Bik [Fri, 22 Jul 2016 18:55:06 +0000 (18:55 +0000)]
Merge \\"Combine offsets in loop-based dynamic BCE.\\" am:
7b922ff88b
am:
f45e600ea6
Change-Id: Ied92881efb83a4a7dcd6238f459f8e5e5c96ead4
Aart Bik [Fri, 22 Jul 2016 18:52:07 +0000 (18:52 +0000)]
Merge \"Combine offsets in loop-based dynamic BCE.\"
am:
7b922ff88b
Change-Id: I6889e535ce4ea69404562c95451bf82d70c35a23
Treehugger Robot [Fri, 22 Jul 2016 18:43:01 +0000 (18:43 +0000)]
Merge "Combine offsets in loop-based dynamic BCE."
Roland Levillain [Fri, 22 Jul 2016 16:10:06 +0000 (17:10 +0100)]
Do not emit stack maps for runtime calls to ReadBarrierMarkRegX.
* Boot image code size variation on Nexus 5X
(aosp_bullhead-userdebug build):
- total ARM64 framework Oat files size change:
115584120 bytes ->
109124728 bytes (-5.59%)
- total ARM framework Oat files size change:
97387728 bytes ->
92517584 (-5.00%)
Test: ART host and target (ARM, ARM64) tests.
Bug:
29506760
Bug:
12687968
Change-Id: I979d9fb2b4e09f4c0c7bf33af2cd91750a67f989
Aart Bik [Fri, 15 Jul 2016 00:19:43 +0000 (17:19 -0700)]
Combine offsets in loop-based dynamic BCE.
Rationale:
Similar to what I did recently for dom-based dynamic BCE, this
CL combines offsets for the tests generated for loop-based
dynamic BCE. For a set of n references, this reduces the
number of generated tests from 2*n+1 down to at most 4
(in some cases even less).
TEST: 530-checker-loops3
BUG=
27430379
Change-Id: Ic80c2563eaae23f514c1fd52965dd83bccb9d190
Vladimir Marko [Fri, 22 Jul 2016 17:09:00 +0000 (17:09 +0000)]
Merge \\"ARM64/x86-64: Fix mterp fill-array-data-payload pointer calculation.\\" am:
9e27d02040
am:
6aec037d15
Change-Id: I48398d2bcb731b60ded4aeb6f4263f5c3152136a
Vladimir Marko [Fri, 22 Jul 2016 17:06:32 +0000 (17:06 +0000)]
Merge \"ARM64/x86-64: Fix mterp fill-array-data-payload pointer calculation.\"
am:
9e27d02040
Change-Id: Ib9198592d068055b0caa2051072795cb77fc6a0f
Treehugger Robot [Fri, 22 Jul 2016 16:53:29 +0000 (16:53 +0000)]
Merge "ARM64/x86-64: Fix mterp fill-array-data-payload pointer calculation."
Vladimir Marko [Fri, 22 Jul 2016 09:52:24 +0000 (10:52 +0100)]
ARM64/x86-64: Fix mterp fill-array-data-payload pointer calculation.
Fix the pointer calculation to sign-extend the offset
instead of zero-extending it, just like we do for the switch
table pointer calculation. Clean up comments for the switch.
Test: Additional test in 412-new-array.
Change-Id: Ibb1d2d3fcb109f59280aca08de21e42edc4ce66b
Vladimir Marko [Fri, 22 Jul 2016 09:34:34 +0000 (09:34 +0000)]
Merge \\"ARM64: Improve mterp cmpl/cmpg.\\" am:
41c7e2e6ac
am:
1562d62bf2
Change-Id: I5596939b447cf2591c2197a12888c289a773e931
Vladimir Marko [Fri, 22 Jul 2016 09:31:36 +0000 (09:31 +0000)]
Merge \"ARM64: Improve mterp cmpl/cmpg.\"
am:
41c7e2e6ac
Change-Id: I8abfa3377a1e884e46f28ce413a67e97492335e2
Vladimir Marko [Fri, 22 Jul 2016 09:24:41 +0000 (09:24 +0000)]
Merge "ARM64: Improve mterp cmpl/cmpg."
Nicolas Geoffray [Fri, 22 Jul 2016 01:15:48 +0000 (01:15 +0000)]
JIT: Don\'t update the dex cache of another class loader.
am:
e50a7b834b -s ours
Change-Id: I0af74a19e19bc66fcca47aca21757136073a9161
Andreas Gampe [Fri, 22 Jul 2016 00:05:41 +0000 (00:05 +0000)]
Merge changes I295c7876,Ib4b84b7b am:
84413a7617
am:
7aee171992
Change-Id: Iccde165be1e432c9c3e86f03f07a1e2d45428d5f
Andreas Gampe [Fri, 22 Jul 2016 00:03:12 +0000 (00:03 +0000)]
Merge changes I295c7876,Ib4b84b7b
am:
84413a7617
Change-Id: I8b32598a46cb589cdefa1937ba4b9b69926f25b9
Treehugger Robot [Thu, 21 Jul 2016 23:58:00 +0000 (23:58 +0000)]
Merge changes I295c7876,Ib4b84b7b
* changes:
ART: Remove PACKED from ArtMethod's ptr_sized_fields_
ART: Rename ArtMethod JNI field
Hiroshi Yamauchi [Thu, 21 Jul 2016 23:34:42 +0000 (23:34 +0000)]
Merge \\"Use non-CAS thread flip root visitor.\\" am:
d4b7ad7135
am:
0cbcc8b076
Change-Id: I7ace21c998f00f53dd5e9d56703b385dc1457e26
Hiroshi Yamauchi [Thu, 21 Jul 2016 23:32:13 +0000 (23:32 +0000)]
Merge \"Use non-CAS thread flip root visitor.\"
am:
d4b7ad7135
Change-Id: I4c560952f5f4ed488d0a849feadf2a2d25e15a2b
Hiroshi Yamauchi [Thu, 21 Jul 2016 23:24:44 +0000 (23:24 +0000)]
Merge "Use non-CAS thread flip root visitor."
Andreas Gampe [Wed, 20 Jul 2016 01:27:17 +0000 (18:27 -0700)]
ART: Remove PACKED from ArtMethod's ptr_sized_fields_
Remove the PACKED(4) hack, as it's highly annoying when debugging
a 64-bit process. Instead, fix the actual offset and size computation
for cross-size accesses.
Test: m test-art-host
Change-Id: I295c78760b74b6a62946e76856f218b4eb159cdc
Andreas Gampe [Thu, 21 Jul 2016 22:36:22 +0000 (15:36 -0700)]
ART: Add dex2oat swap usage test
Add a test that checks that native alloc size goes down when using
swap, as an indication that we're actually effectively using swap.
Bug:
29259363
Test: m test-art-host-gtest-dex2oat_test
Change-Id: Ifa5aef1b97696309283de78be08699a6399a4d1d
Richard Uhler [Thu, 21 Jul 2016 20:52:48 +0000 (13:52 -0700)]
Launch ahat server before processing the heap dump.
Change-Id: Ic8f18ad3010cb0937f5ef68228359258ec4793fd
Test: Manually launch ahat on a large heap dump with ahat already
running. Verify that ahat fails immediately.
Test: Manually launch ahat on a large heap dump without ahat already
running. Verify that visiting localhost:7100 immediately
eventually resolves to the overview page rather than say the
site can't be reached.
Bug:
28611294
Hiroshi Yamauchi [Thu, 21 Jul 2016 03:25:27 +0000 (20:25 -0700)]
Use non-CAS thread flip root visitor.
We don't need to use CAS to update the thread-local GC roots for the
thread flip.
Bug:
12687968
Bug:
29517059
Test: libartd.so boot. ART tests. Ritzperf EAAC.
Change-Id: Ia2acab824f756bd7d2ad501b2040233e0d394356
Andreas Gampe [Thu, 21 Jul 2016 18:34:42 +0000 (18:34 +0000)]
Merge \\"ART: Make run-test temp dir consistent\\" am:
a8f4e9061a
am:
fd3b946eca
Change-Id: I35b5bf8d27d6eb9340c161a80befc30df90e5cb2
Andreas Gampe [Thu, 21 Jul 2016 18:32:42 +0000 (18:32 +0000)]
Merge \"ART: Make run-test temp dir consistent\"
am:
a8f4e9061a
Change-Id: I1d785103a7e4df2884384b0b482552a8e163e9f3
Andreas Gampe [Tue, 19 Jul 2016 15:06:07 +0000 (08:06 -0700)]
ART: Rename ArtMethod JNI field
The field is multi-purpose, rename it to data and clean up
accessors in preparation of more checks.
Test: m test-art-host
Change-Id: Ib4b84b7b1a51ca201544bc488ce8770aa858c7fd
Treehugger Robot [Thu, 21 Jul 2016 18:26:27 +0000 (18:26 +0000)]
Merge "ART: Make run-test temp dir consistent"
Mathieu Chartier [Thu, 21 Jul 2016 17:12:34 +0000 (17:12 +0000)]
Merge \\"Add a way to measure read barrier slow paths\\" am:
d8b668fbb6
am:
7cf6333832
Change-Id: I511a006bed571faceb739448687cee44afb0198f
Mathieu Chartier [Thu, 21 Jul 2016 17:10:02 +0000 (17:10 +0000)]
Merge \"Add a way to measure read barrier slow paths\"
am:
d8b668fbb6
Change-Id: I010c834dc4c922e7986854cba12612823fa974b4
Andreas Gampe [Thu, 21 Jul 2016 04:09:29 +0000 (21:09 -0700)]
ART: Make run-test temp dir consistent
We use the username as a directory component in run-test. Use the
same when driven through the Makefile.
Drop the username in run-test when TMP_DIR is set.
Test: m test-art-host-run-test
Test: art/test/run-test --host 001-HelloWorld
Change-Id: I060997ffbd80cd4da30dd6ac8d3954641de3292b
Mathieu Chartier [Thu, 21 Jul 2016 16:52:44 +0000 (16:52 +0000)]
Merge "Add a way to measure read barrier slow paths"
Vladimir Marko [Thu, 21 Jul 2016 11:59:46 +0000 (12:59 +0100)]
ARM64: Improve mterp cmpl/cmpg.
Use CSET+CNEG instead of MOV+CNEG+CSEL. Prefer the
CNEG/CSET alias over the CSNEG/CSINC for readability.
Test: Run ART test suite on Nexus 9 with the interpreter.
Change-Id: I5c4fb0cf2c053904253e8e82f3e7e05c774b0583
Goran Jakovljevic [Thu, 21 Jul 2016 14:27:23 +0000 (14:27 +0000)]
Merge \\"Change return type of artIsAssignableFromCode for MIPS64\\" am:
b78b3a8d93
am:
56dc4f5349
Change-Id: I42be21594fe6dad907057e0342d568924642ff93
Roland Levillain [Thu, 21 Jul 2016 14:27:22 +0000 (14:27 +0000)]
Merge \\"Fix the definition of MACRO_LITERAL for OS X on x86-64.\\" am:
ed33b7357c
am:
37d65ef15f
Change-Id: I9f34ab8c1510c97aa22bbdd9c1c47395b31dfc56
Goran Jakovljevic [Thu, 21 Jul 2016 14:24:26 +0000 (14:24 +0000)]
Merge \"Change return type of artIsAssignableFromCode for MIPS64\"
am:
b78b3a8d93
Change-Id: Ifcc0f61101ab0a424273b97877fbb444864fdce9
Roland Levillain [Thu, 21 Jul 2016 14:24:23 +0000 (14:24 +0000)]
Merge \"Fix the definition of MACRO_LITERAL for OS X on x86-64.\"
am:
ed33b7357c
Change-Id: Ida4c2fd8c2918b77c72423fdda7cd7fb52c10aab
Treehugger Robot [Thu, 21 Jul 2016 14:19:33 +0000 (14:19 +0000)]
Merge "Change return type of artIsAssignableFromCode for MIPS64"
Roland Levillain [Thu, 21 Jul 2016 14:17:40 +0000 (14:17 +0000)]
Merge "Fix the definition of MACRO_LITERAL for OS X on x86-64."
Roland Levillain [Tue, 5 Jul 2016 17:55:32 +0000 (18:55 +0100)]
Fix the definition of MACRO_LITERAL for OS X on x86-64.
Test: "ART_USE_READ_BARRIER=true mmma art" on OS X.
Change-Id: Ia2d4c7a3eb7fec346ddfa4c7b0f7b700f1137344
Goran Jakovljevic [Thu, 21 Jul 2016 12:21:46 +0000 (14:21 +0200)]
Change return type of artIsAssignableFromCode for MIPS64
This has been missed by Ic505befc6c94e2dccbc8abf2b13d4c2d662e68d1.
This fixes MIPS64 build.
Bug:
30232671
Test: make -j 32 out/target/product/generic_mips64/obj/SHARED_LIBRARIES/libart_intermediates/arch/mips64/entrypoints_init_mips64.o
Change-Id: Iec89d25e2d38c6efc0d1025767d0ac2a8bdb7dcd
Roland Levillain [Thu, 21 Jul 2016 12:17:44 +0000 (12:17 +0000)]
Merge \\"Move caller-saves saving/restoring to ReadBarrierMarkRegX.\\" am:
057361ca33
am:
cc25e86689
Change-Id: I615172164d2edf199f868dd6d3d0bd59a759d5a9
Roland Levillain [Thu, 21 Jul 2016 12:15:16 +0000 (12:15 +0000)]
Merge \"Move caller-saves saving/restoring to ReadBarrierMarkRegX.\"
am:
057361ca33
Change-Id: I91d856a7d188afb7f770beb6eb799351bfe9333d
Roland Levillain [Thu, 21 Jul 2016 12:11:15 +0000 (12:11 +0000)]
Merge "Move caller-saves saving/restoring to ReadBarrierMarkRegX."
Vladimir Marko [Thu, 21 Jul 2016 10:40:09 +0000 (10:40 +0000)]
Merge \\"Clean up Class::FindStaticField().\\" am:
65ad9b3516
am:
21b08980fb
Change-Id: Iae16ee91456c046fd11925bb582480245bf18f42
Vladimir Marko [Thu, 21 Jul 2016 10:37:41 +0000 (10:37 +0000)]
Merge \"Clean up Class::FindStaticField().\"
am:
65ad9b3516
Change-Id: Ide965af3c183fe6f4bf1abd0c535ea2914522999
Vladimir Marko [Thu, 21 Jul 2016 10:33:13 +0000 (10:33 +0000)]
Merge "Clean up Class::FindStaticField()."
Roland Levillain [Wed, 20 Jul 2016 10:32:19 +0000 (11:32 +0100)]
Move caller-saves saving/restoring to ReadBarrierMarkRegX.
Instead of saving/restoring live caller-save registers
before/after the call to read barrier mark entry points
ReadBarrierMarkRegX, have these entry points save/restore
all the caller-save registers themselves (except register
rX, which contains the return value).
Also refactor the assembly code of these entry points
using macros.
* Boot image code size variation on Nexus 5X
(aosp_bullhead-userdebug build):
- total ARM64 framework Oat files size change:
119196792 bytes ->
115575920 bytes (-3.04%)
- total ARM framework Oat files size change:
100435212 bytes ->
97621188 bytes (-2.80%)
* Benchmarks (ARM64) score variations on Nexus 5X
(aosp_bullhead-userdebug build):
- RitzPerf (lower is better)
- average score difference: -2.71%
- CaffeineMark (higher is better)
- no real difference for most tests
(absolute variation lower than 1%)
- better score on the "Method" benchmark:
score variation 41253 -> 44891 (+8.82%)
Test: ART host and target (ARM, ARM64) tests.
Bug:
29506760
Bug:
12687968
Change-Id: I881bf73139a3f1c2bee9ffc6fc8c00f9a392afa6
Vladimir Marko [Thu, 21 Jul 2016 09:24:06 +0000 (09:24 +0000)]
Merge \\"ARM: Port instr simplification of array accesses.\\" am:
a92938a17b
am:
030c9e6e58
Change-Id: I56fe574cc4200517d241939a458375feb38005af
Vladimir Marko [Thu, 21 Jul 2016 09:24:06 +0000 (09:24 +0000)]
Merge changes Ibcc11ce7,I9867dc11 am:
89b03e0cfb
am:
e2d6519d95
Change-Id: I7b6f88b4a8ec4ae6bb7458c30074fdb02d33efac
Artem Serov [Thu, 21 Jul 2016 09:22:09 +0000 (09:22 +0000)]
Merge \"ARM: Port instr simplification of array accesses.\"
am:
a92938a17b
Change-Id: Ia08b62cc89dd2cfecf9c543ed75689f07baf8ced
Vladimir Marko [Thu, 21 Jul 2016 09:22:06 +0000 (09:22 +0000)]
Merge changes Ibcc11ce7,I9867dc11
am:
89b03e0cfb
Change-Id: I841c764e1c9a69778ce840ec025815d20e1a06ab
Vladimir Marko [Thu, 21 Jul 2016 09:17:15 +0000 (09:17 +0000)]
Merge "ARM: Port instr simplification of array accesses."
Artem Serov [Wed, 6 Jul 2016 15:23:04 +0000 (16:23 +0100)]
ARM: Port instr simplification of array accesses.
After changing the addressing mode for array accesses (in
https://android-review.googlesource.com/248406) the 'add'
instruction that calculates the base address for the array can be
shared across accesses to the same array.
Before https://android-review.googlesource.com/248406:
add IP, r[Array], r[Index0], LSL #2
ldr r0, [IP, #12]
add IP, r[Array], r[Index1], LSL #2
ldr r0, [IP, #12]
Before this CL:
add IP. r[Array], #12
ldr r0, [IP, r[Index0], LSL #2]
add IP. r[Array], #12
ldr r0, [IP, r[Index1], LSL #2]
After this CL:
add IP. r[Array], #12
ldr r0, [IP, r[Index0], LSL #2]
ldr r0, [IP, r[Index1], LSL #2]
Link to the original optimization:
https://android-review.googlesource.com/#/c/127310/
Test: Run ART test suite on Nexus 6.
Change-Id: Iee26f9a0a7ca46abb90e3f60d19d22dc8dee4d8f
Vladimir Marko [Thu, 21 Jul 2016 09:15:23 +0000 (09:15 +0000)]
Merge changes Ibcc11ce7,I9867dc11
* changes:
ARM64: Improve Mterp.
ARM64: Fix mterp switch table pointer calculation.
Nicolas Geoffray [Tue, 19 Jul 2016 16:06:23 +0000 (17:06 +0100)]
JIT: Don't update the dex cache of another class loader.
This only works for properly delegating class loaders. But Java allows
non-delegating ones :(
bug:
29964720
test:612-jit-dex-cache
(cherry picked from commit
491617a612c8a1c890e72d8ba780a151ddee8e11)
(cherry picked from commit
a2d7cbb44e570ec0a9064dc93f57441e6ab9e45a)
(cherry picked from commit
ae093d69f58c2b6257c3e5b82a32c135a1f33641)
Change-Id: I73df55286a9bdb3f96963e0756e3a8b784aa9077
Mathieu Chartier [Thu, 14 Jul 2016 20:30:03 +0000 (13:30 -0700)]
Add a way to measure read barrier slow paths
If enabled, this option counts number of slow paths, measures the
total slow path time per GC and records the info into a histogram.
Also added support for systrace to see which threads are performing
slow paths.
Added runtime option -Xgc:measure to enable. The info is dumped
for SIGQUIT.
Test: Volantis boot with CC, test-art-host with CC, run EEAC with CC
and -Xgc:measure
Bug:
30162165
Change-Id: I3c2bdb4156065249c45695f13c77c0579bc8e57a
Matthew Gharrity [Thu, 21 Jul 2016 00:18:32 +0000 (00:18 +0000)]
Merge \\"Revert \\"Revert \\"Refactor GetIMTIndex\\"\\"\\" am:
e4b1c86d13
am:
8df507d68a
Change-Id: Ia2def807b2ccf60b6020da2760c94e7954c2700b
Matthew Gharrity [Thu, 21 Jul 2016 00:14:11 +0000 (00:14 +0000)]
Merge \"Revert \"Revert \"Refactor GetIMTIndex\"\"\"
am:
e4b1c86d13
Change-Id: I496ad384317e215aa09e1390079fdfe3f852723e
Treehugger Robot [Thu, 21 Jul 2016 00:04:52 +0000 (00:04 +0000)]
Merge "Revert "Revert "Refactor GetIMTIndex"""
Alex Light [Wed, 20 Jul 2016 22:19:32 +0000 (22:19 +0000)]
Merge \\"Make stream tracing have a higher thread count on host\\" am:
ce1ba111bf
am:
2aad9683a3
Change-Id: I54ba24e0222f734d131fe1c14310eb3ef806a357
Alex Light [Wed, 20 Jul 2016 22:16:34 +0000 (22:16 +0000)]
Merge \"Make stream tracing have a higher thread count on host\"
am:
ce1ba111bf
Change-Id: Ib482cc8e3eb49aac849a809fb4d47368abfffa77
Treehugger Robot [Wed, 20 Jul 2016 22:08:47 +0000 (22:08 +0000)]
Merge "Make stream tracing have a higher thread count on host"
Alex Light [Wed, 20 Jul 2016 17:43:39 +0000 (10:43 -0700)]
Make stream tracing have a higher thread count on host
Test: mma ART_TEST_TRACE_STREAM=true -j40 test-art-host-run-test-debug-prebuild-optimizing-relocate-stream-cms-checkjni-image-npictest-ndebuggable-001-HelloWorld32
Bug:
30229615
Change-Id: Id396f569b9e21ff764562005624aabc964d4e95a
Matthew Gharrity [Wed, 20 Jul 2016 20:45:56 +0000 (20:45 +0000)]
Merge \\"Refactor register allocation to be pluggable\\" am:
8a759904d4
am:
90d0c8adb6
Change-Id: If03c38d2f9088828d90026a28a36c65b27e09bb0
Matthew Gharrity [Wed, 20 Jul 2016 20:42:58 +0000 (20:42 +0000)]
Merge \"Refactor register allocation to be pluggable\"
am:
8a759904d4
Change-Id: I7dcf31e96d0eb23f794da94c4268804ab22d82dc