RFR: Fix ShFreeSet boundary case

Aleksey Shipilev shade at redhat.com
Thu May 10 14:42:01 UTC 2018


On 05/09/2018 09:30 PM, Roman Kennke wrote:
> In ShFreeSet, if we steal a region from 'the other' set, and then
> immediately allocate a region-sized object (e.g. a LAB), the region gets
> retired and taken out of any of the two allocator/mutator free sets.
> However, right afterwards, the region gets added to the set again. When
> that happens, it will run into the assert at the start of
> ShFreeSet::try_allocate_in() l168. Observed with the new PLAB code.
> Apparently this triggers the situation fairly often because it tends to
> allocate region sized GCLABs.
> 
> http://cr.openjdk.java.net/~rkennke/fixfreeset/webrev.00/

Ah! Oops. Looks good.

-Aleksey



More information about the shenandoah-dev mailing list