On Wed, 11 Nov 2020 17:48:12 GMT, Roman Kennke <rken...@openjdk.org> wrote:
>> Finalizer calls Reference.get() from the Finalizer to acquire the finalizee. >> Concurrent reference processing GCs like Shenandoah and ZGC would return >> NULL for unreachable referents, and thus would not call finalize() on them. >> >> ZGC works around this by fixing the referent before enqueuing, so that the >> barrier would take the fast-path, but Shenandoah cannot do this. >> >> It is ok to bypass the barrier altogether in this place, because the >> FinalReference is inactive and marking and reference-discovery treat >> inactive FinalReferences like strong references. >> >> Testing: >> - [x] hotspot_gc_shenandoah >> - [x] tier1 +UseShenandoahGC +ShenandoahVerify >> - [x] tier2 +UseShenandoahGC +ShenandoahVerify >> - [x] tier1 >> - [x] tier2 > > Roman Kennke has updated the pull request incrementally with one additional > commit since the last revision: > > Rename inactive-getter and improve javadocs Looks good. ------------- Marked as reviewed by eosterlund (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/1140