< prev index next >

test/jdk/java/lang/ref/ReferenceEnqueue.java

Print this page

        

@@ -23,11 +23,10 @@
 
 /* @test
  * @bug 4268317 8132306 8175797
  * @summary Test if Reference.enqueue() works properly with GC
  * @run main ReferenceEnqueue
- * @run main/othervm -Djdk.lang.ref.disableClearBeforeEnqueue=true ReferenceEnqueue
  */
 
 import java.lang.ref.*;
 import java.util.ArrayList;
 import java.util.List;

@@ -85,12 +84,10 @@
 
     static class ExplicitEnqueue {
         final ReferenceQueue<Object> queue = new ReferenceQueue<>();
         final List<Reference<Object>> refs = new ArrayList<>();
         final int iterations = 1000;
-        final boolean disableClearBeforeEnqueue =
-            Boolean.getBoolean("jdk.lang.ref.disableClearBeforeEnqueue");
 
         ExplicitEnqueue() {
             this.refs.add(new SoftReference<>(new Object(), queue));
             this.refs.add(new WeakReference<>(new Object(), queue));
             // Can't test PhantomReference because get() always returns null.

@@ -99,14 +96,11 @@
         void run() throws InterruptedException {
             for (Reference<Object> ref : refs) {
                 if (ref.enqueue() == false) {
                     throw new RuntimeException("Error: enqueue failed");
                 }
-                if (disableClearBeforeEnqueue && ref.get() == null) {
-                    throw new RuntimeException("Error: clearing should be disabled");
-                }
-                if (!disableClearBeforeEnqueue && ref.get() != null) {
+                if (ref.get() != null) {
                     throw new RuntimeException("Error: referent must be cleared");
                 }
             }
 
             System.gc();
< prev index next >