Fix a few issues with 616-cha-unloading.
- Disable test on RI
- Disable test on trace
- Don't try N times for getting the allocation we want, do it
until we get it. We shouldn't get in an infinite loop. If
we do the harness will kill the test.
Test: 616-cha-unloading
bug: 73143991
Change-Id: I1eaf6db1a79010f1e5dc33401e5ccf351ff10be2
diff --git a/test/616-cha-unloading/src-art/Main.java b/test/616-cha-unloading/src-art/Main.java
index b633a0c..effa315 100644
--- a/test/616-cha-unloading/src-art/Main.java
+++ b/test/616-cha-unloading/src-art/Main.java
@@ -53,12 +53,12 @@
WeakReference<ClassLoader> loader = result.cl;
long methodPtr = result.methodPtr;
// Check that the classloader is indeed unloaded.
- System.out.println(loader.get());
+ if (loader.get() != null) {
+ throw new Error("Expected class loader to be unloaded");
+ }
- // Reuse the linear alloc so old pointers so it becomes invalid.
- boolean ret = tryReuseArenaOfMethod(methodPtr, 10);
- // Check that we indeed reused it.
- System.out.println(ret);
+ // Reuse the linear alloc used by the unloaded class loader.
+ reuseArenaOfMethod(methodPtr);
// Try to JIT-compile under dangerous conditions.
ensureJitCompiled(Main.class, "targetMethodForJit");
@@ -117,5 +117,5 @@
private static native void ensureJitCompiled(Class<?> itf, String method_name);
private static native long getArtMethod(Object javaMethod);
- private static native boolean tryReuseArenaOfMethod(long artMethod, int tries_count);
+ private static native void reuseArenaOfMethod(long artMethod);
}