64ef58b8fb912c3522162ba7d8d30e31f6a88716 |
|
08-Feb-2018 |
David Srbecky <dsrbecky@google.com> |
Use different method to mark DEX PC in the interpreter's CFI. gdb handles unknown register numbers very ungracefully, so we have to find a different way to insert the information. Test: testrunner.py -j40 --host --cdex-fast -t 137 Change-Id: Ie4f8abb45e1b4ade32a510ac09413c6ee72edf2c
|
cd5b86d9e08e04a04e289df881fd2a94c7c8dad1 |
|
20-Oct-2017 |
buzbee <buzbee@google.com> |
Frame tracking cfi for mterp Add cfi information to allow libunwind to find Java context in native tracebacks. Test: m test-art-host Test: testrunner.py --host --interpreter Change-Id: Ib51b7a692bcc20a0662ae2ff3b8946f409574d57
|
fc9555dac51a3cf12bb13f4e3781d2f2f6c9f91f |
|
06-Nov-2017 |
Mathieu Chartier <mathieuc@google.com> |
Remove mterp reliance on code item layout Pass dex instruction pointer intead of code item pointer to the mterp entry code. This removes a dependency on the code item layout since it may change in the future for compact dex. Bug: 63756964 Test: test/testrunner/testrunner.py --host -j40 Change-Id: Icfffb2e17372439f0833ecce1c0ddb05e7e7e69c
|
0de2d595af38bfa8362deb3efbe8b2ac3cb2a146 |
|
06-Oct-2017 |
buzbee <buzbee@google.com> |
Fix overlapping cfi ranges in mterp Some residual .type and .size directives in mterp cause the unwinder to see code covered by overlapping functions. This CL removes them, treating the mterp's assembly stubs as all part of the same function. Test: m test-art-host Test: testrunner.py --host --interpreter Bug: 66749877 Change-Id: Id4cebf140c3d4baa2298f1c56b66bad6686161ce
|
a710d91a57c5c7de0f448c2dbfaa24cac53b52f9 |
|
12-Sep-2017 |
Vladimir Marko <vmarko@google.com> |
ART: Pass current Thread* to Jit::ShouldUsePriorityThreadWeight(). And avoid some instructions from REFRESH_IBASE on x86-64. Test: testrunner.py --host --interpreter --jit Test: testrunner.py --target --interpreter --jit on Nexus 6P Change-Id: Id42545d0d8fb8db0659b6c937ed7e8106d1dcfdb
|
112aa1088cf283d57c533be17d79c4b638665651 |
|
01-Dec-2016 |
Vladimir Marko <vmarko@google.com> |
Mterp/arm64: Add CFI directives. Also add two bug 31975598 workarounds to arm64 entrypoints. Test: m ART_TEST_INTERPRETER=true test-art-target Bug: 31456348 Bug: 31975598 Change-Id: Ibf64160cf3b3f1ef644ff8f051ab7dc89643acf3
|
1d011d9306fd4ff57d72411775d415a86f5ed398 |
|
04-Apr-2016 |
Bill Buzbee <buzbee@google.com> |
Revert "Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"""" Bug: 28081559 This reverts commit 961ea9fe42edcc2c57469bf451d1ca421da5cd59. Change-Id: I98a5bb8112646706ae7bd73bf6393cb956466be3
|
961ea9fe42edcc2c57469bf451d1ca421da5cd59 |
|
01-Apr-2016 |
Hiroshi Yamauchi <yamauchi@google.com> |
Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""" This reverts commit 4a8ac9cee4312ac910fabf31c64d28d4c8362836. 570-checker-osr intermittently failing. Bug: 27939339
|
d6190dcdfb1f247ff0bf8268dacf413c93b58cf5 |
|
31-Mar-2016 |
Calin Juravle <calin@google.com> |
Revert "Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp""" This reverts commit 4a8ac9cee4312ac910fabf31c64d28d4c8362836. Bug: 27939339
|
4a8ac9cee4312ac910fabf31c64d28d4c8362836 |
|
25-Mar-2016 |
Bill Buzbee <buzbee@google.com> |
Revert "Revert "ART: Improve JitProfile perf in arm/arm64 mterp"" Ready for review. This reverts commit 6aef867f4d1a98a12bcdd65e9bf2ff894f0f2d7e. Change-Id: I5d53ed2bedc7e429ce7d3cdf80b6696a9628740e
|
6aef867f4d1a98a12bcdd65e9bf2ff894f0f2d7e |
|
25-Mar-2016 |
Calin Juravle <calin@google.com> |
Revert "ART: Improve JitProfile perf in arm/arm64 mterp" This reverts commit c1d6b341eed646e5adafc6c4fd4e3748f0292368.
|
c1d6b341eed646e5adafc6c4fd4e3748f0292368 |
|
02-Mar-2016 |
buzbee <buzbee@google.com> |
ART: Improve JitProfile perf in arm/arm64 mterp ART currently requires two profiling-related things from the interpreters: hotness updates and OSR switch checks. The hotness updates previously used the existing instrumentation framework - which is flexible, but quite heavyweight. For most things, the instrumentation framework overhead is acceptable, but because we do a hotness update on every backwards branch the overhead is unacceptable. Prior to this CL, branch profiling dominates interpreter cost. Here, we bypass the instrumentation framework for hotness updates and deliver a significant performance improvement. Running interpreter-only (dalvikvm -Xint) on a Nexus 6, we see the logic subtest of Caffeinemark improving from 2600 to 9200, and the overall score going from 1979 to over 3000. Compared to the C++ switch interpreter, we see a 6x improvement on the branchy logic subtest and a 2.6x improvement overall. Compared with the previous mterp which did not have support for jit profiling, we see a few (1% to 5%) performance loss on the standard command-line benchmarks. I consider this acceptable (we could create an alternate non-profiling mterp which would have no penalty, but I don't consider this overhead big enough to justify that). Change-Id: I50b5b8c5ed8ebda3c8b4e65d27ba7393c3feae04
|
ace690f5e440930d7bbad97fdbfdc3eb65e230be |
|
11-Mar-2016 |
buzbee <buzbee@google.com> |
ART: mterp arm/arm64 cleanup Assembly code cleanup in response to comments from already-submitted CL: https://android-review.googlesource.com/#/c/188977/ Change-Id: I0ea85c5759a08cb50ef3e97dc5cf79b3ba041640
|
3b0b4b9d09baae7234fc26b7970b3ec55560735e |
|
02-Feb-2016 |
Bill Buzbee <buzbee@google.com> |
Revert "Revert "ART: Mterp for arm64"" Looks like some of our assemblers disagree on valid arm64 assembly syntax Force use of clang for art runtime. In a subsequent CL, will use form that both gcc and clang accept. This reverts commit 43f3fb960bce978df699c8a68a972be2a0d0d221. Change-Id: Ice83072171ab502c43d492e2238b446c4814ea67
|
43f3fb960bce978df699c8a68a972be2a0d0d221 |
|
02-Feb-2016 |
Sebastien Hertz <shertz@google.com> |
Revert "ART: Mterp for arm64" This reverts commit e0c269e0a5f50b1a551ddba1205f6e5b4b5e6c98. The CL is causing build breakages on arm64 targets. Change-Id: I7402fe34869258ae870c57308b2062e50d801bdd
|
e0c269e0a5f50b1a551ddba1205f6e5b4b5e6c98 |
|
27-Jan-2016 |
buzbee <buzbee@google.com> |
ART: Mterp for arm64 Ready for review. All opcodes handled. All applicable run-tests pass. Device boots to desktop in interpret-only mode. Change-Id: I937d8bcf848a831e04d4b9de8d1914667a197d75
|