summaryrefslogtreecommitdiff
path: root/compiler/optimizing/dex_cache_array_fixups_arm.cc
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2017-01-12 13:25:19 +0000
committerNicolas Geoffray <ngeoffray@google.com>2017-01-16 22:56:56 +0000
commit5d37c152f21a0807459c6f53bc25e2d84f56d259 (patch)
tree7d8cbce0a55f258150a047def70244f79afc866d /compiler/optimizing/dex_cache_array_fixups_arm.cc
parentaa89a4c6fca095904521842c018399f1e3501a45 (diff)
Put inlined ArtMethod pointer in stack maps.
Currently done for JIT. Can be extended for AOT and inlined boot image methods. Also refactor the lookup of a inlined method at runtime to not rely on the dex cache, but look at the class loader tables. bug: 30933338 test: test-art-host, test-art-target Change-Id: I58bd4d763b82ab8ca3023742835ac388671d1794
Diffstat (limited to 'compiler/optimizing/dex_cache_array_fixups_arm.cc')
-rw-r--r--compiler/optimizing/dex_cache_array_fixups_arm.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/optimizing/dex_cache_array_fixups_arm.cc b/compiler/optimizing/dex_cache_array_fixups_arm.cc
index 10a36c6ff4..ae9e0febfb 100644
--- a/compiler/optimizing/dex_cache_array_fixups_arm.cc
+++ b/compiler/optimizing/dex_cache_array_fixups_arm.cc
@@ -79,9 +79,10 @@ class DexCacheArrayFixupsVisitor : public HGraphVisitor {
// we need to add the dex cache arrays base as the special input.
if (invoke->HasPcRelativeDexCache() &&
!IsCallFreeIntrinsic<IntrinsicLocationsBuilderARMType>(invoke, codegen_)) {
- HArmDexCacheArraysBase* base = GetOrCreateDexCacheArrayBase(invoke->GetDexFile());
+ HArmDexCacheArraysBase* base =
+ GetOrCreateDexCacheArrayBase(invoke->GetDexFileForPcRelativeDexCache());
// Update the element offset in base.
- DexCacheArraysLayout layout(kArmPointerSize, &invoke->GetDexFile());
+ DexCacheArraysLayout layout(kArmPointerSize, &invoke->GetDexFileForPcRelativeDexCache());
base->UpdateElementOffset(layout.MethodOffset(invoke->GetDexMethodIndex()));
// Add the special argument base to the method.
DCHECK(!invoke->HasCurrentMethodInput());