-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: None
-
Component/s: hotspot
In the current implementation, every thread is assigned a gclab and a plab, even when we are operating in non-generational mode. Plabs are used for promotion into old and for compaction of old.
For simplicity and memory usage optimization, the implementation of ShenandoahThreadLocal::initialize_gclab() can avoid allocating _plab buffers and the implementation of ShenandoahRetireGCLABClosure can avoid retiring plabs when mode is not generational.
For simplicity and memory usage optimization, the implementation of ShenandoahThreadLocal::initialize_gclab() can avoid allocating _plab buffers and the implementation of ShenandoahRetireGCLABClosure can avoid retiring plabs when mode is not generational.