summaryrefslogtreecommitdiffstats
path: root/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/entrypoints/quick/quick_trampoline_entrypoints.cc')
-rw-r--r--runtime/entrypoints/quick/quick_trampoline_entrypoints.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc b/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
index a176a8727c..cb816298ad 100644
--- a/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
+++ b/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
@@ -812,7 +812,10 @@ extern "C" const void* artQuickResolutionTrampoline(mirror::ArtMethod* called,
// We came here because of sharpening. Ensure the dex cache is up-to-date on the method index
// of the sharpened method avoiding dirtying the dex cache if possible.
- uint32_t update_dex_cache_method_index = called_method.dex_method_index;
+ // Note, called_method.dex_method_index references the dex method before the
+ // FindVirtualMethodFor... This is ok for FindDexMethodIndexInOtherDexFile that only cares
+ // about the name and signature.
+ uint32_t update_dex_cache_method_index = called->GetDexMethodIndex();
if (!called->HasSameDexCacheResolvedMethods(caller)) {
// Calling from one dex file to another, need to compute the method index appropriate to
// the caller's dex file. Since we get here only if the original called was a runtime