From b6f965d2967c77cdf8f4bff26b838ee6a5ca6d1a Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Wed, 23 Nov 2022 14:24:45 +0000 Subject: Change well known class loader methods to `ArtMethod*`. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: atest CtsJdwpTestCases Change-Id: I7b94a481304f8899bcb828ed5875fe165dd90dda --- runtime/class_loader_context_test.cc | 117 +++++++++++++++++------------------ 1 file changed, 58 insertions(+), 59 deletions(-) (limited to 'runtime/class_loader_context_test.cc') diff --git a/runtime/class_loader_context_test.cc b/runtime/class_loader_context_test.cc index cb7726d4ec..d89c5b6b33 100644 --- a/runtime/class_loader_context_test.cc +++ b/runtime/class_loader_context_test.cc @@ -40,7 +40,7 @@ #include "runtime.h" #include "scoped_thread_state_change-inl.h" #include "thread.h" -#include "well_known_classes.h" +#include "well_known_classes-inl.h" namespace art { @@ -240,14 +240,14 @@ class ClassLoaderContextTest : public CommonRuntimeTest { ASSERT_FALSE(context->owns_the_dex_files_); } - void VerifyClassLoaderDexFiles(ScopedObjectAccess& soa, + void VerifyClassLoaderDexFiles(Thread* self, Handle class_loader, - jclass type, + ObjPtr type, std::vector& expected_dex_files) REQUIRES_SHARED(Locks::mutator_lock_) { - ASSERT_TRUE(class_loader->GetClass() == soa.Decode(type)); + ASSERT_TRUE(class_loader->GetClass() == type); - std::vector class_loader_dex_files = GetDexFiles(soa.Self(), class_loader); + std::vector class_loader_dex_files = GetDexFiles(self, class_loader); ASSERT_EQ(expected_dex_files.size(), class_loader_dex_files.size()); for (size_t i = 0; i < expected_dex_files.size(); i++) { @@ -677,10 +677,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoader) { Handle class_loader = hs.NewHandle( soa.Decode(jclass_loader)); - ASSERT_TRUE(class_loader->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::dalvik_system_PathClassLoader)); + ASSERT_TRUE(class_loader->GetClass() == WellKnownClasses::dalvik_system_PathClassLoader); ASSERT_TRUE(class_loader->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); // For the first class loader the class path dex files must come first and then the // compilation sources. @@ -689,9 +688,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoader) { expected_classpath.push_back(dex); } - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), expected_classpath); } @@ -714,12 +713,12 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithEmptyContext) { soa.Decode(jclass_loader)); // An empty context should create a single PathClassLoader with only the compilation sources. - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), compilation_sources_raw); ASSERT_TRUE(class_loader->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); } TEST_F(ClassLoaderContextTest, CreateClassLoaderWithComplexChain) { @@ -765,31 +764,31 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithComplexChain) { for (auto& dex : compilation_sources_raw) { class_loader_1_dex_files.push_back(dex); } - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_1, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_1_dex_files); // Verify the second class loader Handle class_loader_2 = hs.NewHandle(class_loader_1->GetParent()); std::vector class_loader_2_dex_files = MakeNonOwningPointerVector(classpath_dex_c); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_2, - WellKnownClasses::dalvik_system_DelegateLastClassLoader, + WellKnownClasses::dalvik_system_DelegateLastClassLoader.Get(), class_loader_2_dex_files); // Verify the third class loader Handle class_loader_3 = hs.NewHandle(class_loader_2->GetParent()); std::vector class_loader_3_dex_files = MakeNonOwningPointerVector(classpath_dex_d); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_3, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_3_dex_files); // The last class loader should have the BootClassLoader as a parent. ASSERT_TRUE(class_loader_3->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); } TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibraries) { @@ -833,9 +832,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibraries) { for (auto& dex : compilation_sources_raw) { class_loader_1_dex_files.push_back(dex); } - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_1, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_1_dex_files); // Verify the shared libraries. @@ -851,9 +850,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibraries) { Handle class_loader_2 = hs.NewHandle(shared_libraries->Get(0)); std::vector class_loader_2_dex_files = MakeNonOwningPointerVector(classpath_dex_c); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_2, - WellKnownClasses::dalvik_system_DelegateLastClassLoader, + WellKnownClasses::dalvik_system_DelegateLastClassLoader.Get(), class_loader_2_dex_files); raw_shared_libraries = field->GetObject(class_loader_2.Get()); ASSERT_TRUE(raw_shared_libraries == nullptr); @@ -862,20 +861,20 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibraries) { Handle class_loader_3 = hs.NewHandle(shared_libraries->Get(1)); std::vector class_loader_3_dex_files = MakeNonOwningPointerVector(classpath_dex_d); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_3, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_3_dex_files); raw_shared_libraries = field->GetObject(class_loader_3.Get()); ASSERT_TRUE(raw_shared_libraries == nullptr); // All class loaders should have the BootClassLoader as a parent. ASSERT_TRUE(class_loader_1->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); ASSERT_TRUE(class_loader_2->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); ASSERT_TRUE(class_loader_3->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); } TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesInParentToo) { @@ -917,9 +916,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesInParentToo) for (auto& dex : compilation_sources_raw) { class_loader_1_dex_files.push_back(dex); } - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_1, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_1_dex_files); // Verify its shared library. @@ -934,9 +933,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesInParentToo) Handle class_loader_2 = hs.NewHandle(shared_libraries->Get(0)); std::vector class_loader_2_dex_files = MakeNonOwningPointerVector(classpath_dex_b); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_2, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_2_dex_files); raw_shared_libraries = field->GetObject(class_loader_2.Get()); ASSERT_TRUE(raw_shared_libraries == nullptr); @@ -945,9 +944,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesInParentToo) Handle class_loader_3 = hs.NewHandle(class_loader_1->GetParent()); std::vector class_loader_3_dex_files = MakeNonOwningPointerVector(classpath_dex_c); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_3, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_3_dex_files); // Verify its shared library. @@ -961,20 +960,20 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesInParentToo) Handle class_loader_4 = hs.NewHandle(shared_libraries_2->Get(0)); std::vector class_loader_4_dex_files = MakeNonOwningPointerVector(classpath_dex_d); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_4, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_4_dex_files); raw_shared_libraries = field->GetObject(class_loader_4.Get()); ASSERT_TRUE(raw_shared_libraries == nullptr); // Class loaders should have the BootClassLoader as a parent. ASSERT_TRUE(class_loader_2->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); ASSERT_TRUE(class_loader_3->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); ASSERT_TRUE(class_loader_4->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); } TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesDependencies) { @@ -1016,9 +1015,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesDependencies) for (auto& dex : compilation_sources_raw) { class_loader_1_dex_files.push_back(dex); } - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_1, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_1_dex_files); // Verify its shared library. @@ -1033,9 +1032,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesDependencies) Handle class_loader_2 = hs.NewHandle(shared_libraries->Get(0)); std::vector class_loader_2_dex_files = MakeNonOwningPointerVector(classpath_dex_b); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_2, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_2_dex_files); // Verify the shared library dependency of the shared library. @@ -1049,9 +1048,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesDependencies) Handle class_loader_3 = hs.NewHandle(shared_libraries_2->Get(0)); std::vector class_loader_3_dex_files = MakeNonOwningPointerVector(classpath_dex_c); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_3, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_3_dex_files); raw_shared_libraries = field->GetObject(class_loader_3.Get()); ASSERT_TRUE(raw_shared_libraries == nullptr); @@ -1060,20 +1059,20 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSharedLibrariesDependencies) Handle class_loader_4 = hs.NewHandle(class_loader_1->GetParent()); std::vector class_loader_4_dex_files = MakeNonOwningPointerVector(classpath_dex_d); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_4, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_4_dex_files); raw_shared_libraries = field->GetObject(class_loader_4.Get()); ASSERT_TRUE(raw_shared_libraries == nullptr); // Class loaders should have the BootClassLoader as a parent. ASSERT_TRUE(class_loader_2->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); ASSERT_TRUE(class_loader_3->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); ASSERT_TRUE(class_loader_4->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); } TEST_F(ClassLoaderContextTest, RemoveSourceLocations) { @@ -1130,9 +1129,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSameSharedLibraries) { for (auto& dex : compilation_sources_raw) { class_loader_1_dex_files.push_back(dex); } - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_1, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_1_dex_files); // Verify its shared library. @@ -1147,18 +1146,18 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSameSharedLibraries) { Handle class_loader_2 = hs.NewHandle(shared_libraries->Get(0)); std::vector class_loader_2_dex_files = MakeNonOwningPointerVector(classpath_dex_b); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_2, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_2_dex_files); // Verify the parent. Handle class_loader_3 = hs.NewHandle(class_loader_1->GetParent()); std::vector class_loader_3_dex_files = MakeNonOwningPointerVector(classpath_dex_c); - VerifyClassLoaderDexFiles(soa, + VerifyClassLoaderDexFiles(soa.Self(), class_loader_3, - WellKnownClasses::dalvik_system_PathClassLoader, + WellKnownClasses::dalvik_system_PathClassLoader.Get(), class_loader_3_dex_files); // Verify its shared library is the same as the child. @@ -1171,9 +1170,9 @@ TEST_F(ClassLoaderContextTest, CreateClassLoaderWithSameSharedLibraries) { // Class loaders should have the BootClassLoader as a parent. ASSERT_TRUE(class_loader_2->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); ASSERT_TRUE(class_loader_3->GetParent()->GetClass() == - WellKnownClasses::ToClass(WellKnownClasses::java_lang_BootClassLoader)); + WellKnownClasses::java_lang_BootClassLoader); } TEST_F(ClassLoaderContextTest, EncodeInOatFile) { -- cgit v1.2.3-59-g8ed1b