From 5be5ce773a683439792c799827fcef2fea0cf157 Mon Sep 17 00:00:00 2001 From: VladimĂ­r Marko Date: Tue, 18 Oct 2022 09:49:00 +0000 Subject: Reland "Change well known `ClassLoader` fields to `ArtField*`." This reverts commit 839193ee2031d28aac2ce16c4b76ad40531b07cc. Reason for revert: Reland with a fix - make CompilerDriver reponsible for initializing required `ClassLoader` classes for boot image. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: Manually run Golem benchmark ArrayListStress. Bug: 253570082 Change-Id: I2ddb70566352f8728f089b3a6c58473270240e25 --- runtime/class_loader_utils.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'runtime/class_loader_utils.h') diff --git a/runtime/class_loader_utils.h b/runtime/class_loader_utils.h index c7773709bf..aabc4ca91d 100644 --- a/runtime/class_loader_utils.h +++ b/runtime/class_loader_utils.h @@ -82,13 +82,11 @@ inline RetType VisitClassLoaderDexElements(ScopedObjectAccessAlreadyRunnable& so REQUIRES_SHARED(Locks::mutator_lock_) { Thread* self = soa.Self(); ObjPtr dex_path_list = - jni::DecodeArtField(WellKnownClasses::dalvik_system_BaseDexClassLoader_pathList)-> - GetObject(class_loader.Get()); + WellKnownClasses::dalvik_system_BaseDexClassLoader_pathList->GetObject(class_loader.Get()); if (dex_path_list != nullptr) { // DexPathList has an array dexElements of Elements[] which each contain a dex file. ObjPtr dex_elements_obj = - jni::DecodeArtField(WellKnownClasses::dalvik_system_DexPathList_dexElements)-> - GetObject(dex_path_list); + WellKnownClasses::dalvik_system_DexPathList_dexElements->GetObject(dex_path_list); // Loop through each dalvik.system.DexPathList$Element's dalvik.system.DexFile and look // at the mCookie which is a DexFile vector. if (dex_elements_obj != nullptr) { @@ -122,10 +120,8 @@ inline RetType VisitClassLoaderDexFiles(ScopedObjectAccessAlreadyRunnable& soa, Visitor fn, RetType defaultReturn) REQUIRES_SHARED(Locks::mutator_lock_) { - ArtField* const cookie_field = - jni::DecodeArtField(WellKnownClasses::dalvik_system_DexFile_cookie); - ArtField* const dex_file_field = - jni::DecodeArtField(WellKnownClasses::dalvik_system_DexPathList__Element_dexFile); + ArtField* const cookie_field = WellKnownClasses::dalvik_system_DexFile_cookie; + ArtField* const dex_file_field = WellKnownClasses::dalvik_system_DexPathList__Element_dexFile; if (dex_file_field == nullptr || cookie_field == nullptr) { return defaultReturn; } -- cgit v1.2.3-59-g8ed1b