Revert^4 "ART: Use proxy ArtMethod's data_ to store the interface method."
Fix a DCHECK() failure while visiting references for non-CC
moving GC by avoiding the DCHECK(); reference equality may
give false negatives at that stage as we may compare the new
reference against an old one for the same object.
Test: m test-art-host-gtest
Test: testrunner.py --host
Test: testrunner.py --host --jit
Test: testrunner.py --host --gcstress
Test: ART_DEFAULT_GC_TYPE=SS ART_USE_READ_BARRIER=false \
testrunner.py --host --gcstress -t 048-reflect-v8
This reverts commit 76ccd09c3d98317dfbd179c6f5c231dcfc5d6996.
Change-Id: I13cc339d5b31fceedf39ea9a77f27369ba72279f
diff --git a/runtime/class_linker.h b/runtime/class_linker.h
index 66bcbe0..783ec74 100644
--- a/runtime/class_linker.h
+++ b/runtime/class_linker.h
@@ -479,9 +479,6 @@
REQUIRES_SHARED(Locks::mutator_lock_);
std::string GetDescriptorForProxy(ObjPtr<mirror::Class> proxy_class)
REQUIRES_SHARED(Locks::mutator_lock_);
- ArtMethod* FindMethodForProxy(ArtMethod* proxy_method)
- REQUIRES(!Locks::dex_lock_)
- REQUIRES_SHARED(Locks::mutator_lock_);
// Get the oat code for a method when its class isn't yet initialized.
const void* GetQuickOatCodeFor(ArtMethod* method)
@@ -675,7 +672,6 @@
DexCacheData()
: weak_root(nullptr),
dex_file(nullptr),
- resolved_methods(nullptr),
class_table(nullptr) { }
// Check if the data is valid.
@@ -686,11 +682,9 @@
// Weak root to the DexCache. Note: Do not decode this unnecessarily or else class unloading may
// not work properly.
jweak weak_root;
- // The following two fields are caches to the DexCache's fields and here to avoid unnecessary
- // jweak decode that triggers read barriers (and mark them alive unnecessarily and mess with
- // class unloading.)
+ // The following field caches the DexCache's field here to avoid unnecessary jweak decode that
+ // triggers read barriers (and marks them alive unnecessarily and messes with class unloading.)
const DexFile* dex_file;
- mirror::MethodDexCacheType* resolved_methods;
// Identify the associated class loader's class table. This is used to make sure that
// the Java call to native DexCache.setResolvedType() inserts the resolved type in that
// class table. It is also used to make sure we don't register the same dex cache with