--- old/src/hotspot/share/gc/z/zHeap.cpp 2019-11-21 14:24:41.194739232 +0100 +++ new/src/hotspot/share/gc/z/zHeap.cpp 2019-11-21 14:24:40.990735911 +0100 @@ -352,12 +352,12 @@ ZRendezvousClosure cl; Handshake::execute(&cl); - // Purge stale metadata and nmethods that were unlinked - _unload.purge(); - // Unblock resurrection of weak/phantom references ZResurrection::unblock(); + // Purge stale metadata and nmethods that were unlinked + _unload.purge(); + // Enqueue Soft/Weak/Final/PhantomReferences. Note that this // must be done after unblocking resurrection. Otherwise the // Finalizer thread could call Reference.get() on the Finalizers