RFR: Abstraction for TLAB dummy object

Aleksey Shipilev shade at redhat.com
Mon Jun 11 16:10:17 UTC 2018


On 06/11/2018 05:55 PM, Roman Kennke wrote:
> This changes/implements a proper abstraction for TLAB filler objects. It
> mirrors what I am going to propose for:
> 
> https://bugs.openjdk.java.net/browse/JDK-8204685
> 
> .. but with Shenandoah implementation.
> 
> It also fixes an issue: currently when filling PLABs, we zap the filler
> object with zeroes. We don't need to do that, and save those memory
> accesses.
> 
> http://cr.openjdk.java.net/~rkennke/tlabfiller/webrev.00/

Let's wait what upstream people say about this. But I think it deserves a separate
Shenandoah-specific and backportable patch right now: PLAB::retire_internal and PLAB::add_undo_waste
should pass zap=false:

  CollectedHeap::fill_with_object(..., /* zap = */ !UseShenandoahGC);

Maybe the call in SH::evacuate_object needs passing fill_with_object(..., /* zap = */ false) too?

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list