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