--- old/src/hotspot/share/gc/g1/g1MarkSweep.cpp 2017-10-17 22:53:11.167219810 +0200 +++ new/src/hotspot/share/gc/g1/g1MarkSweep.cpp 2017-10-17 22:53:10.891210889 +0200 @@ -184,9 +184,9 @@ { GCTraceTime(Debug, gc, phases) trace("Weak Processing", gc_timer()); - WeakProcessor::unlink_or_oops_do(&GenMarkSweep::is_alive, - &GenMarkSweep::keep_alive, - &GenMarkSweep::follow_stack_closure); + WeakProcessor::weak_oops_do(&GenMarkSweep::is_alive, + &GenMarkSweep::keep_alive, + &GenMarkSweep::follow_stack_closure); } // This is the point where the entire marking should have completed. assert(GenMarkSweep::_marking_stack.is_empty(), "Marking should have completed");