summaryrefslogtreecommitdiffstats
path: root/runtime/entrypoints/quick
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2014-08-06 22:58:25 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-08-06 17:20:04 +0000
commit269c3360f8e69e9faf8bc8a51fd87ae7adadfb59 (patch)
treee6b96c5a139999feb13176f6a12f034cba6dd9f5 /runtime/entrypoints/quick
parent2524ffd731a3d173c9b0ad8f7b3e4a89d692aab6 (diff)
parent58a5af8568d224ca7eccf2483396ff9862f8d1ee (diff)
downloadart-269c3360f8e69e9faf8bc8a51fd87ae7adadfb59.tar.gz
art-269c3360f8e69e9faf8bc8a51fd87ae7adadfb59.tar.bz2
art-269c3360f8e69e9faf8bc8a51fd87ae7adadfb59.zip
Merge "ART: Add guards to the dex cache and its shortcuts"
Diffstat (limited to 'runtime/entrypoints/quick')
-rw-r--r--runtime/entrypoints/quick/quick_trampoline_entrypoints.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc b/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
index fa198d7ef5..4730701f2c 100644
--- a/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
+++ b/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
@@ -790,8 +790,8 @@ 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.
- if (called->GetDexCacheResolvedMethods() == caller->GetDexCacheResolvedMethods()) {
- caller->GetDexCacheResolvedMethods()->Set<false>(called->GetDexMethodIndex(), called);
+ if (called->HasSameDexCacheResolvedMethods(caller)) {
+ caller->SetDexCacheResolvedMethod(called->GetDexMethodIndex(), called);
} else {
// 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
@@ -801,7 +801,7 @@ extern "C" const void* artQuickResolutionTrampoline(mirror::ArtMethod* called,
MethodHelper mh(hs.NewHandle(called));
uint32_t method_index = mh.FindDexMethodIndexInOtherDexFile(*dex_file, dex_method_idx);
if (method_index != DexFile::kDexNoIndex) {
- caller->GetDexCacheResolvedMethods()->Set<false>(method_index, called);
+ caller->SetDexCacheResolvedMethod(method_index, called);
}
}
}