diff options
author | Andreas Gampe <agampe@google.com> | 2014-08-06 22:58:25 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-08-06 17:20:04 +0000 |
commit | 269c3360f8e69e9faf8bc8a51fd87ae7adadfb59 (patch) | |
tree | e6b96c5a139999feb13176f6a12f034cba6dd9f5 /runtime/entrypoints/quick | |
parent | 2524ffd731a3d173c9b0ad8f7b3e4a89d692aab6 (diff) | |
parent | 58a5af8568d224ca7eccf2483396ff9862f8d1ee (diff) | |
download | art-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.cc | 6 |
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); } } } |