d8dbc8da0e5cc6b5c2176ce2d3877e6194d72c0c |
|
20-Sep-2017 |
Vladimir Marko <vmarko@google.com> |
Refactor compiled_method.h . Move LinkerPatch to compiler/linker/linker_patch.h . Move SrcMapElem to compiler/debug/src_map_elem.h . Introduce compiled_method-inl.h to reduce the number of `#include`s in compiled_method.h . Test: m test-art-host-gtest Test: testrunner.py --host Change-Id: Id211cdf94a63ad265bf4709f1a5e06dffbe30f64
|
1b404a8b34f6fa80342955cb0a61673503328b51 |
|
01-Sep-2017 |
Vladimir Marko <vmarko@google.com> |
Add debug info for link-time generated thunks. Add debug info for method call thunks (currently unused) and Baker read barrier thunks. Refactor debug info generation for trampolines and record their sizes; change their names to start with upper-case letters, so that they can be easily generated as `#fn_name`. This improved debug info must be generated by `dex2oat -g`, the debug info generated by `oatdump --symbolize` remains the same as before, except for the renamed trampolines and an adjustment for "code delta", i.e. the Thumb mode bit. Cortex-A53 erratum 843419 workaround thunks are not covered by this CL. Test: Manual; run-test --gdb -Xcompiler-option -g 160, pull symbols for gdbclient, break in the introspection entrypoint, check that gdb knows the new symbols (and disassembles them) and `backtrace` works when setting $pc to an address in the thunk. Bug: 36141117 Change-Id: Id224b72cfa7a0628799c7db65e66e24c8517aabf
|
a663d9d5b32a525794a2b98fa43da54dd7c79e3b |
|
01-Aug-2017 |
Alexey Frunze <Alexey.Frunze@imgtec.com> |
MIPS32: Allow some patched instructions in delay slots Test: test-art-host-gtest Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU Test: test-art-target-gtest32 Test: testrunner.py --target --optimizing --32 Test: same tests as above on CI20 Test: booted MIPS32R2 in QEMU Change-Id: I7e1ba59993008014d0115ae20c56e0a71fef0fb0
|
5fa5c04ca39fb9c46bfef0e0807a18d0cd9a4ba7 |
|
02-Jun-2017 |
Alexey Frunze <Alexey.Frunze@imgtec.com> |
MIPS: Shorten .bss string/class loads This is a follow-up to https://android-review.googlesource.com/#/c/384033/. Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU Test: testrunner.py --target --optimizing Test: same tests as above on CI20 Test: booted MIPS32R2 and MIPS64 in QEMU in configurations: ART_USE_READ_BARRIER=false, ART_READ_BARRIER_TYPE=TABLELOOKUP Change-Id: I4cb2f4ded13c0d9fc960c7eac55396f7931c1e38
|
0eb882bfc5d260e8014c26adfda11602065aa5d8 |
|
15-May-2017 |
Vladimir Marko <vmarko@google.com> |
Use ArtMethod* .bss entries for HInvokeStaticOrDirect. Test: m test-art-host-gtest Test: testrunner.py --host Test: testrunner.py --target Test: Nexus 6P boots. Test: Build aosp_mips64-userdebug. Bug: 30627598 Change-Id: I0e54fdd2e91e983d475b7a04d40815ba89ae3d4f
|
f4f2daafb38c9c07ea74044a0fb89a2a19288b7a |
|
20-Mar-2017 |
Vladimir Marko <vmarko@google.com> |
ARM64: Use link-time generated thunks for Baker CC read barrier. Remaining work for follow-up CLs: - array loads, - volatile field loads, - use implicit null check in field thunk. Test: Added tests to relative_patcher_arm64 Test: New run-test 160-read-barrier-stress Test: m test-art-target-gtest on Nexus 6P. Test: testrunner.py --target on Nexus 6P. Bug: 29516974 Bug: 30126666 Bug: 36141117 Change-Id: Id68ff171c55a3f1bf1ac1b657f480531aa7b3710
|
6b892cd757db7e163b54c8a0ef5ba777b1a4772c |
|
04-Jan-2017 |
Alexey Frunze <Alexey.Frunze@imgtec.com> |
MIPS32R6: Improve PC-relative string/class loads and invokes. Use PC-relative addressing on MIPS32R6 instead of HMipsDexCacheArraysBase and allow such PC-relative addressing in presence of irreducible loops. Also save a couple of instructions when handling string and class loads from bss. Test: test-art-host-gtest Test: booted MIPS32R2 in QEMU Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=true ART_TEST_INTERPRETER=false ART_TEST_JIT=false ART_TEST_PIC_TEST=true test-art-target-run-test" Test: booted MIPS64 (with 2nd arch MIPS32R6) in QEMU Test: "make -j1 ART_TEST_DEFAULT_COMPILER=false ART_TEST_OPTIMIZING=true ART_TEST_INTERPRETER=false ART_TEST_JIT=false ART_TEST_PIC_TEST=true test-art-target-run-test32" Change-Id: I5d0fcbf271541294a3d4479987d52e2aaff084d9
|
06a46c44bf1a5cba6c78c3faffc4e7ec1442b210 |
|
20-Jul-2016 |
Alexey Frunze <Alexey.Frunze@imgtec.com> |
MIPS32: Improve string and class loads Tested: - MIPS32 Android boots in QEMU - test-art-host-gtest - test-art-target-run-test-optimizing in QEMU, on CI20 - test-art-target-gtest on CI20 Change-Id: I70fd5d5267f8594c3b29d5a4ccf66b8ca8b09df3
|
e3fb245fbdb5e91cf8a9750504df40bd629e0080 |
|
11-May-2016 |
Alexey Frunze <Alexey.Frunze@imgtec.com> |
MIPS32: Improve method invocation Improvements include: - CodeGeneratorMIPS::GenerateStaticOrDirectCall() supports: - MethodLoadKind::kDirectAddressWithFixup (via literals) - CodePtrLocation::kCallDirectWithFixup (via literals) - MethodLoadKind::kDexCachePcRelative - 32-bit literals to support the above (not ready for general- purpose applications yet because RA is not saved in leaf methods, but is clobbered on MIPS32R2 when simulating PC-relative addressing (MIPS32R6 is OK because it has PC-relative addressing with the lwpc instruction)) - shorter instruction sequences for recursive static/direct calls Tested: - test-art-host-gtest - test-art-target-gtest and test-art-target-run-test-optimizing on: - MIPS32R2 QEMU - CI20 board - MIPS32R6 (2nd arch) QEMU Change-Id: Id5b137ad32d5590487fd154c9a01d3b3e7e044ff
|