summaryrefslogtreecommitdiff
path: root/compiler/utils/assembler.cc
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2015-10-29 12:18:29 +0000
committerVladimir Marko <vmarko@google.com>2015-10-30 15:38:39 +0000
commitd1eaf0dc9abc42dbcbbd9c4b98bf930ae5f394f3 (patch)
tree335509fbc92becce5cb08e23361e2cae86756729 /compiler/utils/assembler.cc
parent594c0612519e96bcc1bd42ff4dcbfa2c53b09c5a (diff)
Keep list of dex files for oat file in CompilerDriver.
Use this list to improve invoke-static/-direct dispatch for intra-oat calls. Also fix a latent ArmBaseRelativePatcher::ReserveSpaceEnd() bug exposed by a buggy early version of this CL: when we have unresolved patches at the end of all code, we need to emit a final thunk. Though the OatWriter will try to patch the unresolved call to a trampoline at the beginning of the oat file, that trampoline may be too far and the relative patcher doesn't know about it anyway, so it needs to assume that a thunk is needed. This reduces the overall size of oat files present in dalvik cache on Nexus 9 after first boot by over 1MiB, AOSP ToT, aosp_flounder-userdebug build. Change-Id: I98604b70cb17377eed057c1c23971865cf344e43
Diffstat (limited to 'compiler/utils/assembler.cc')
0 files changed, 0 insertions, 0 deletions