From 7a62e6728463237684d3d9834d81bd7bba7ab197 Mon Sep 17 00:00:00 2001 From: Hiroshi Yamauchi Date: Fri, 10 Jun 2016 17:22:48 -0700 Subject: Propagate the read barrier option to Class::VisitNativeRoots. Propagate the read barrier option from Object::VisitReferences to Class::VisitNativeRoots. This is a step toward the GC thread avoiding graying objects (and reducing dirty pages) in the immune spaces. Bug: 12687968 Change-Id: I29c4126a4ad4c40e63a934e62451fb3fb36aad43 --- runtime/class_linker.cc | 27 --------------------------- 1 file changed, 27 deletions(-) (limited to 'runtime/class_linker.cc') diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index d03b57cf1f..343bc8fb7b 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -4248,33 +4248,6 @@ std::string ClassLinker::GetDescriptorForProxy(mirror::Class* proxy_class) { return DotToDescriptor(name->ToModifiedUtf8().c_str()); } -ArtMethod* ClassLinker::FindMethodForProxy(mirror::Class* proxy_class, ArtMethod* proxy_method) { - DCHECK(proxy_class->IsProxyClass()); - DCHECK(proxy_method->IsProxyMethod()); - { - Thread* const self = Thread::Current(); - ReaderMutexLock mu(self, dex_lock_); - // Locate the dex cache of the original interface/Object - for (const DexCacheData& data : dex_caches_) { - if (!self->IsJWeakCleared(data.weak_root) && - proxy_method->HasSameDexCacheResolvedTypes(data.resolved_types, - image_pointer_size_)) { - mirror::DexCache* dex_cache = down_cast( - self->DecodeJObject(data.weak_root)); - if (dex_cache != nullptr) { - ArtMethod* resolved_method = dex_cache->GetResolvedMethod( - proxy_method->GetDexMethodIndex(), image_pointer_size_); - CHECK(resolved_method != nullptr); - return resolved_method; - } - } - } - } - LOG(FATAL) << "Didn't find dex cache for " << PrettyClass(proxy_class) << " " - << PrettyMethod(proxy_method); - UNREACHABLE(); -} - void ClassLinker::CreateProxyConstructor(Handle klass, ArtMethod* out) { // Create constructor for Proxy that must initialize the method. CHECK_EQ(GetClassRoot(kJavaLangReflectProxy)->NumDirectMethods(), 18u); -- cgit v1.2.3-59-g8ed1b