diff options
author | 2025-01-21 11:47:52 +0000 | |
---|---|---|
committer | 2025-01-21 09:11:38 -0800 | |
commit | b30c5a0d84cd03ae465bda61ee41ddaec326b9d5 (patch) | |
tree | 1c099edff66d4df1c3654f0b615bec23cc72b3b2 /runtime/well_known_classes.cc | |
parent | 761ea222e35e0ffacb2149ce22a92b3c6a4bdf79 (diff) |
Add new WellKnownClasses fields to avoid harcoded constants.
Test: test.py
Change-Id: I3a065dd5582269792032df0c6446c3c4b6cd72be
Diffstat (limited to 'runtime/well_known_classes.cc')
-rw-r--r-- | runtime/well_known_classes.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/runtime/well_known_classes.cc b/runtime/well_known_classes.cc index 8fff1ba33c..5a1e7f4264 100644 --- a/runtime/well_known_classes.cc +++ b/runtime/well_known_classes.cc @@ -126,7 +126,10 @@ ArtField* WellKnownClasses::dalvik_system_DexPathList_dexElements; ArtField* WellKnownClasses::dalvik_system_DexPathList__Element_dexFile; ArtField* WellKnownClasses::dalvik_system_VMRuntime_nonSdkApiUsageConsumer; ArtField* WellKnownClasses::java_io_FileDescriptor_descriptor; +ArtField* WellKnownClasses::java_lang_ref_Reference_disableIntrinsic; +ArtField* WellKnownClasses::java_lang_ref_Reference_slowPathEnabled; ArtField* WellKnownClasses::java_lang_ClassLoader_parent; +ArtField* WellKnownClasses::java_lang_Object_shadowKlass; ArtField* WellKnownClasses::java_lang_String_EMPTY; ArtField* WellKnownClasses::java_lang_Thread_parkBlocker; ArtField* WellKnownClasses::java_lang_Thread_daemon; @@ -746,6 +749,16 @@ void WellKnownClasses::InitFieldsAndMethodsOnly(JNIEnv* env) { "(I[BII)Lorg/apache/harmony/dalvik/ddmc/Chunk;", pointer_size); + ObjPtr<mirror::Class> j_l_Object = GetClassRoot<mirror::Object>(class_linker); + java_lang_Object_shadowKlass = CacheField( + j_l_Object, /*is_static=*/ false, "shadow$_klass_", "Ljava/lang/Class;"); + + ObjPtr<mirror::Class> j_l_r_Reference = GetClassRoot<mirror::Reference>(class_linker); + java_lang_ref_Reference_disableIntrinsic = CacheField( + j_l_r_Reference, /*is_static=*/ true, "disableIntrinsic", "Z"); + java_lang_ref_Reference_slowPathEnabled = CacheField( + j_l_r_Reference, /*is_static=*/ true, "slowPathEnabled", "Z"); + dalvik_system_BaseDexClassLoader_pathList = CacheField( d_s_bdcl.Get(), /*is_static=*/ false, "pathList", "Ldalvik/system/DexPathList;"); dalvik_system_BaseDexClassLoader_sharedLibraryLoaders = CacheField( @@ -968,7 +981,10 @@ void WellKnownClasses::Clear() { dalvik_system_DexPathList_dexElements = nullptr; dalvik_system_DexPathList__Element_dexFile = nullptr; dalvik_system_VMRuntime_nonSdkApiUsageConsumer = nullptr; + java_lang_ref_Reference_disableIntrinsic = nullptr; + java_lang_ref_Reference_slowPathEnabled = nullptr; java_lang_ClassLoader_parent = nullptr; + java_lang_Object_shadowKlass = nullptr; java_lang_String_EMPTY = nullptr; java_lang_Thread_parkBlocker = nullptr; java_lang_Thread_daemon = nullptr; |