RFR: Use PLAB for evacuations instead of TLAB
Roman Kennke
rkennke at redhat.com
Thu May 10 15:43:37 UTC 2018
Am 10.05.2018 um 16:28 schrieb Aleksey Shipilev:
> On 05/09/2018 11:19 PM, Roman Kennke wrote:
>> Diff:
>> http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.02.diff/
>> Full:
>> http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.02/
>
> Looks like a nice cleanup.
>
> *) 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/
> *) Break this line, and use template parameter instead of cast?
>
> 47 AlignmentReserve = oopDesc::header_size() > MinObjAlignment ?
> align_object_size(MAX2<size_t>(arrayOopDesc::header_size(T_INT), min_align_reserve)) :
> 0;
Ok, done.
> *) There is a commented block, do we need it?
Not really. Removed it.
> *) 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?
Diff:
http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.03.diff/
Full:
http://cr.openjdk.java.net/~rkennke/plab-gclab/webrev.03/
Roman
More information about the shenandoah-dev
mailing list