diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/155-java-set-resolved-type/src/Main.java | 6 | ||||
| -rw-r--r-- | test/626-const-class-linking/clear_dex_cache_types.cc | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/test/155-java-set-resolved-type/src/Main.java b/test/155-java-set-resolved-type/src/Main.java index 56b8c3ece9..f92363e915 100644 --- a/test/155-java-set-resolved-type/src/Main.java +++ b/test/155-java-set-resolved-type/src/Main.java @@ -55,7 +55,11 @@ public class Main { Class<?> timpl = Class.forName("TestImplementation", false, mainLoader); // Clear the dex cache resolved types to force a proper lookup the next time // we need to find TestInterface. - clearResolvedTypes(timpl); + // TODO: Enable clearing the dex cache when we switch to the hash-based type array + // and do a proper lookup. Currently, ClassLinker fully relies on the DexCache. + if (false) { + clearResolvedTypes(timpl); + } // Force intialization of TestClass2. This expects the interface type to be // resolved and found through simple lookup. diff --git a/test/626-const-class-linking/clear_dex_cache_types.cc b/test/626-const-class-linking/clear_dex_cache_types.cc index ff5ae6bd0d..c0aedc199f 100644 --- a/test/626-const-class-linking/clear_dex_cache_types.cc +++ b/test/626-const-class-linking/clear_dex_cache_types.cc @@ -27,8 +27,7 @@ extern "C" JNIEXPORT void JNICALL Java_Main_nativeClearResolvedTypes(JNIEnv*, jc ScopedObjectAccess soa(Thread::Current()); mirror::DexCache* dex_cache = soa.Decode<mirror::Class>(cls)->GetDexCache(); for (size_t i = 0, num_types = dex_cache->NumResolvedTypes(); i != num_types; ++i) { - mirror::TypeDexCachePair cleared(nullptr, mirror::TypeDexCachePair::InvalidIndexForSlot(i)); - dex_cache->GetResolvedTypes()[i].store(cleared, std::memory_order_relaxed); + dex_cache->SetResolvedType(dex::TypeIndex(i), ObjPtr<mirror::Class>(nullptr)); } } |