< 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 >