OSDN Git Service
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
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
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
Treehugger Robot [Wed, 20 Jul 2016 20:38:30 +0000 (20:38 +0000)]
Merge "Refactor register allocation to be pluggable"
Matthew Gharrity [Wed, 20 Jul 2016 19:50:52 +0000 (19:50 +0000)]
Merge \\"Fix accidental pass-by-value\\" am:
27d99ed243
am:
3fa237bc32
Change-Id: I5eaec7a7a98f6179e0bdb0aae1449ebbb4121075
Matthew Gharrity [Wed, 20 Jul 2016 19:48:24 +0000 (19:48 +0000)]
Merge \"Fix accidental pass-by-value\"
am:
27d99ed243
Change-Id: Iab0f6c30f77a0764a11ce094d05a79e81d28685e
Treehugger Robot [Wed, 20 Jul 2016 19:42:28 +0000 (19:42 +0000)]
Merge "Fix accidental pass-by-value"
Richard Uhler [Wed, 20 Jul 2016 18:30:50 +0000 (18:30 +0000)]
Merge changes I328ea51d,I577c5d02 am:
6c81dfeaef
am:
f87c76d0dc
Change-Id: Id44ec9b26970ce22620975cbbdc4fa25204013cf
Richard Uhler [Wed, 20 Jul 2016 18:28:17 +0000 (18:28 +0000)]
Merge changes I328ea51d,I577c5d02
am:
6c81dfeaef
Change-Id: I18b7d076b1db11560f4ee4488a5c4f5f8093ffa5
Treehugger Robot [Wed, 20 Jul 2016 18:22:10 +0000 (18:22 +0000)]
Merge changes I328ea51d,I577c5d02
* changes:
Compute oat and odex filenames eagerly.
Make a static OatFileAssistant::DexLocationToOatFileName function.
Vladimir Marko [Wed, 20 Jul 2016 13:25:30 +0000 (14:25 +0100)]
ARM64: Improve Mterp.
Several straight-forward optimizations:
- use ubfx instead of SHR+AND,
- do not mask shifting distance,
- use 64-bit LDRSH to avoid subsequent sign extension,
- use CBNZ instead of CMP+BNE for null checks,
- style: use SXTW alias instead of explicit SBFM.
Test: Run ART test suite on Nexus 9 with the interpreter.
Change-Id: Ibcc11ce7f455432ecb789f727da21f269f8370f0
Vladimir Marko [Wed, 20 Jul 2016 16:52:51 +0000 (17:52 +0100)]
ARM64: Fix mterp switch table pointer calculation.
Do not mix 32-bit and 64-bit registers with
add x0, xPC, w0, lsl #1
that ends up compiled as
add x0, xPC, w0, uxtx #1
instead of the required sxtx. Just sing-extend the offset
correctly in previous instructions.
Test: Additional test in 501-regression-packed-switch.
Change-Id: I9867dc1180743e98f9707a312241d2f5b726ca8c
Matthew Gharrity [Wed, 20 Jul 2016 17:13:45 +0000 (10:13 -0700)]
Fix accidental pass-by-value
Change-Id: I245111eabb43368875c1215ca4f3a1f1918492fe
Matthew Gharrity [Thu, 14 Jul 2016 20:24:00 +0000 (13:24 -0700)]
Refactor register allocation to be pluggable
Allow alternate register allocation strategies to be implemented
in subclasses of a common register allocation base class.
Test: m test-art-host
Change-Id: I7c5866aa9ddff8f53fcaf721bad47654ab221b4f
Vladimir Marko [Wed, 20 Jul 2016 12:10:51 +0000 (12:10 +0000)]
Merge \\"ART: Change return types of field access entrypoints\\" am:
360b4b0137
am:
127d900ccc
Change-Id: Ibb1d4ae96a3c6514cdd6a1d1f77d6f9f66f8cee1
Andreas Gampe [Wed, 20 Jul 2016 12:07:24 +0000 (12:07 +0000)]
Merge \"ART: Change return types of field access entrypoints\"
am:
360b4b0137
Change-Id: I98f4f6ea89d48f5405da245c94ff7bddb0b5d588
Vladimir Marko [Wed, 20 Jul 2016 12:01:15 +0000 (12:01 +0000)]
Merge "ART: Change return types of field access entrypoints"
Nicolas Geoffray [Wed, 20 Jul 2016 11:02:47 +0000 (11:02 +0000)]
Merge \\"Fix test after rename.\\" am:
522da11a6c
am:
c8f60fd364
Change-Id: I445afbc70e5c0ba06f2d6687f1876e27e1a92d2e