RFR: Use PLAB for evacuations instead of TLAB
Roman Kennke
rkennke at redhat.com
Thu May 10 19:28:24 UTC 2018
Am 10.05.2018 um 17:48 schrieb Aleksey Shipilev:
> On 05/10/2018 05:43 PM, Roman Kennke wrote:
>> Am 10.05.2018 um 16:28 schrieb Aleksey Shipilev:
>>> *) Seems that plab.* files exist only starting JDK 9. This would pose some problems with
>>> backporting, but it looks resolvable.
>>
>> We could put the plab.* stuff under shenandoah/
>
> Yeah. I would probably do that for sh/jdk8 backports.
>
>>> *) What is the reason for moving this block out of mark-compact?
>>>
>>> 229 if (UseTLAB) {
>>> 230 ShenandoahGCPhase phase(ShenandoahPhaseTimings::full_gc_resize_tlabs);
>>> 231 heap->resize_all_tlabs();
>>> 232 }
>>
>> resize_all_tlabs() is protected in CH. The alternative would be to
>> override it and make it public. Whatever you prefer?
>
> Ah, OK. No, moving the code is fine then.
>
>> Diff:
>> http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.03.diff/
>> Full:
>> http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.03/
>
> Looks good.
>
> -Aleksey
>
I just realized that it sortof depends on the allocation refactoring
(see "Improve abstraction for runtime allocations"):
http://mail.openjdk.java.net/pipermail/shenandoah-dev/2018-May/005886.html
Re-basing it would mean to get half of that patch into this one. I think
it's cleaner as it is.
Roman
More information about the shenandoah-dev
mailing list