diff options
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r-- | runtime/class_linker.cc | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index 6641f80299..290d5c1fa9 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -5401,14 +5401,14 @@ bool ClassLinker::InitializeClass(Thread* self, for (size_t i = 0; i < num_static_fields; ++i) { ArtField* field = klass->GetStaticField(i); const uint32_t field_idx = field->GetDexFieldIndex(); - ArtField* resolved_field = dex_cache->GetResolvedField(field_idx, image_pointer_size_); + ArtField* resolved_field = dex_cache->GetResolvedField(field_idx); if (resolved_field == nullptr) { // Populating cache of a dex file which defines `klass` should always be allowed. DCHECK(!hiddenapi::ShouldDenyAccessToMember( field, hiddenapi::AccessContext(class_loader.Get(), dex_cache.Get()), hiddenapi::AccessMethod::kNone)); - dex_cache->SetResolvedField(field_idx, field, image_pointer_size_); + dex_cache->SetResolvedField(field_idx, field); } else { DCHECK_EQ(field, resolved_field); } @@ -7640,7 +7640,7 @@ class ClassLinker::LinkInterfaceMethodsHelper { // Check that there are no stale methods are in the dex cache array. auto* resolved_methods = klass_->GetDexCache()->GetResolvedMethods(); for (size_t i = 0, count = klass_->GetDexCache()->NumResolvedMethods(); i < count; ++i) { - auto pair = mirror::DexCache::GetNativePairPtrSize(resolved_methods, i, pointer_size); + auto pair = mirror::DexCache::GetNativePair(resolved_methods, i); ArtMethod* m = pair.object; CHECK(move_table_.find(m) == move_table_.end() || // The original versions of copied methods will still be present so allow those too. @@ -8992,7 +8992,7 @@ ArtMethod* ClassLinker::FindResolvedMethod(ObjPtr<mirror::Class> klass, << "DexFile referrer: " << dex_file.GetLocation() << " ClassLoader: " << DescribeLoaders(class_loader, ""); // Be a good citizen and update the dex cache to speed subsequent calls. - dex_cache->SetResolvedMethod(method_idx, resolved, image_pointer_size_); + dex_cache->SetResolvedMethod(method_idx, resolved); // Disable the following invariant check as the verifier breaks it. b/73760543 // const DexFile::MethodId& method_id = dex_file.GetMethodId(method_idx); // DCHECK(LookupResolvedType(method_id.class_idx_, dex_cache, class_loader) != nullptr) @@ -9045,8 +9045,7 @@ ArtMethod* ClassLinker::ResolveMethod(uint32_t method_idx, DCHECK(dex_cache != nullptr); DCHECK(referrer == nullptr || !referrer->IsProxyMethod()); // Check for hit in the dex cache. - PointerSize pointer_size = image_pointer_size_; - ArtMethod* resolved = dex_cache->GetResolvedMethod(method_idx, pointer_size); + ArtMethod* resolved = dex_cache->GetResolvedMethod(method_idx); Thread::PoisonObjectPointersIfDebug(); DCHECK(resolved == nullptr || !resolved->IsRuntimeMethod()); bool valid_dex_cache_method = resolved != nullptr; @@ -9136,7 +9135,7 @@ ArtMethod* ClassLinker::ResolveMethod(uint32_t method_idx, ArtMethod* ClassLinker::ResolveMethodWithoutInvokeType(uint32_t method_idx, Handle<mirror::DexCache> dex_cache, Handle<mirror::ClassLoader> class_loader) { - ArtMethod* resolved = dex_cache->GetResolvedMethod(method_idx, image_pointer_size_); + ArtMethod* resolved = dex_cache->GetResolvedMethod(method_idx); Thread::PoisonObjectPointersIfDebug(); if (resolved != nullptr) { DCHECK(!resolved->IsRuntimeMethod()); @@ -9190,7 +9189,7 @@ ArtField* ClassLinker::ResolveField(uint32_t field_idx, bool is_static) { DCHECK(dex_cache != nullptr); DCHECK(!Thread::Current()->IsExceptionPending()) << Thread::Current()->GetException()->Dump(); - ArtField* resolved = dex_cache->GetResolvedField(field_idx, image_pointer_size_); + ArtField* resolved = dex_cache->GetResolvedField(field_idx); Thread::PoisonObjectPointersIfDebug(); if (resolved != nullptr) { return resolved; @@ -9216,7 +9215,7 @@ ArtField* ClassLinker::ResolveFieldJLS(uint32_t field_idx, Handle<mirror::DexCache> dex_cache, Handle<mirror::ClassLoader> class_loader) { DCHECK(dex_cache != nullptr); - ArtField* resolved = dex_cache->GetResolvedField(field_idx, image_pointer_size_); + ArtField* resolved = dex_cache->GetResolvedField(field_idx); Thread::PoisonObjectPointersIfDebug(); if (resolved != nullptr) { return resolved; @@ -9266,7 +9265,7 @@ ArtField* ClassLinker::FindResolvedField(ObjPtr<mirror::Class> klass, } if (resolved != nullptr) { - dex_cache->SetResolvedField(field_idx, resolved, image_pointer_size_); + dex_cache->SetResolvedField(field_idx, resolved); } return resolved; @@ -9293,7 +9292,7 @@ ArtField* ClassLinker::FindResolvedFieldJLS(ObjPtr<mirror::Class> klass, } if (resolved != nullptr) { - dex_cache->SetResolvedField(field_idx, resolved, image_pointer_size_); + dex_cache->SetResolvedField(field_idx, resolved); } return resolved; |