diff options
Diffstat (limited to 'runtime/class_linker.cc')
| -rw-r--r-- | runtime/class_linker.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index 677fdc9462..f092772239 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -2780,6 +2780,7 @@ void ClassLinker::LoadClass(Thread* self, const DexFile& dex_file, klass->SetDexClassDefIndex(dex_file.GetIndexForClassDef(dex_class_def)); klass->SetDexTypeIndex(dex_class_def.class_idx_); + klass->SetDexCacheStrings(klass->GetDexCache()->GetStrings()); const uint8_t* class_data = dex_file.GetClassData(dex_class_def); if (class_data == nullptr) { @@ -2935,7 +2936,6 @@ mirror::ArtMethod* ClassLinker::LoadMethod(Thread* self, const DexFile& dex_file dst->SetDeclaringClass(klass.Get()); dst->SetCodeItemOffset(it.GetMethodCodeItemOffset()); - dst->SetDexCacheStrings(klass->GetDexCache()->GetStrings()); dst->SetDexCacheResolvedMethods(klass->GetDexCache()->GetResolvedMethods()); dst->SetDexCacheResolvedTypes(klass->GetDexCache()->GetResolvedTypes()); @@ -4063,7 +4063,6 @@ static void CheckProxyMethod(Handle<mirror::ArtMethod> method, // The proxy method doesn't have its own dex cache or dex file and so it steals those of its // interface prototype. The exception to this are Constructors and the Class of the Proxy itself. - CHECK_EQ(prototype->GetDexCacheStrings(), method->GetDexCacheStrings()); CHECK(prototype->HasSameDexCacheResolvedMethods(method.Get())); CHECK(prototype->HasSameDexCacheResolvedTypes(method.Get())); CHECK_EQ(prototype->GetDexMethodIndex(), method->GetDexMethodIndex()); |