On Tue, 8 Dec 2020 09:52:51 GMT, Kim Barrett <kbarr...@openjdk.org> wrote:

> Please review this change that eliminates the use of Reference.isEnqueued by
> tests.  There were three tests using it:
> 
> vmTestbase/gc/gctests/ReferencesGC/ReferencesGC.java
> vmTestbase/gc/gctests/WeakReferenceGC/WeakReferenceGC.java
> jdk/java/lang/ref/ReferenceEnqueue.java
> 
> In each of them, some combination of using Reference.refersTo and
> ReferenceQueue.remove with a timeout were used to eliminate the use of
> Reference.isEnqueued.
> 
> I also cleaned up ReferencesGC.java in various respects.  It contained
> several bits of dead code, and the failure checks were made stronger.
> 
> Testing:
> mach5 tier1
> Locally (linux-x64) ran all three tests with each GC (including Shenandoah).

Changes requested by tschatzl (Reviewer).

test/jdk/java/lang/ref/ReferenceEnqueue.java line 58:

> 56:             for (int i = 0; i < iterations; i++) {
> 57:                 System.gc();
> 58:                 enqueued = (queue.remove(100) == ref);

The code does not catch `InterruptedException` like it does in the other files.

test/hotspot/jtreg/vmTestbase/gc/gctests/ReferencesGC/ReferencesGC.java line 
129:

> 127:                 }
> 128: 
> 129:                 int REMOVE = (int) (RANGE * RATIO);

These two constants could be factored out as static finals to match the casing.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1691

Reply via email to