diff options
| author | 2015-08-27 02:47:40 +0000 | |
|---|---|---|
| committer | 2015-08-27 02:47:40 +0000 | |
| commit | 772cc4a2d4f978888d1b1e5a78c1c16a108260ed (patch) | |
| tree | b8f29167cb5fb7ca7709a0d305cfd7e6018d5b2a /compiler/driver/compiler_driver-inl.h | |
| parent | 7d6c95a7e5d431fd1b9ad49823535073325c699a (diff) | |
| parent | 3ae6b1d42523bb2a0ddb5edff1aaf05b592f28f4 (diff) | |
Merge "Change dex caches to be weak roots"
Diffstat (limited to 'compiler/driver/compiler_driver-inl.h')
| -rw-r--r-- | compiler/driver/compiler_driver-inl.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/driver/compiler_driver-inl.h b/compiler/driver/compiler_driver-inl.h index 80387f2842..83f391de1a 100644 --- a/compiler/driver/compiler_driver-inl.h +++ b/compiler/driver/compiler_driver-inl.h @@ -31,7 +31,7 @@ namespace art { inline mirror::DexCache* CompilerDriver::GetDexCache(const DexCompilationUnit* mUnit) { - return mUnit->GetClassLinker()->FindDexCache(*mUnit->GetDexFile()); + return mUnit->GetClassLinker()->FindDexCache(*mUnit->GetDexFile(), false); } inline mirror::ClassLoader* CompilerDriver::GetClassLoader(ScopedObjectAccess& soa, @@ -87,7 +87,7 @@ inline ArtField* CompilerDriver::ResolveFieldWithDexFile( } inline mirror::DexCache* CompilerDriver::FindDexCache(const DexFile* dex_file) { - return Runtime::Current()->GetClassLinker()->FindDexCache(*dex_file); + return Runtime::Current()->GetClassLinker()->FindDexCache(*dex_file, false); } inline ArtField* CompilerDriver::ResolveField( @@ -339,7 +339,7 @@ inline int CompilerDriver::IsFastInvoke( // Sharpen a virtual call into a direct call. The method_idx is into referrer's // dex cache, check that this resolved method is where we expect it. CHECK_EQ(target_method->dex_file, mUnit->GetDexFile()); - DCHECK_EQ(dex_cache.Get(), mUnit->GetClassLinker()->FindDexCache(*mUnit->GetDexFile())); + DCHECK_EQ(dex_cache.Get(), mUnit->GetClassLinker()->FindDexCache(*mUnit->GetDexFile(), false)); CHECK_EQ(referrer_class->GetDexCache()->GetResolvedMethod( target_method->dex_method_index, pointer_size), resolved_method) << PrettyMethod(resolved_method); @@ -369,7 +369,7 @@ inline int CompilerDriver::IsFastInvoke( nullptr, kVirtual); } else { StackHandleScope<1> hs(soa.Self()); - auto target_dex_cache(hs.NewHandle(class_linker->FindDexCache(*devirt_target->dex_file))); + auto target_dex_cache(hs.NewHandle(class_linker->RegisterDexFile(*devirt_target->dex_file))); called_method = class_linker->ResolveMethod( *devirt_target->dex_file, devirt_target->dex_method_index, target_dex_cache, class_loader, nullptr, kVirtual); |