-
Bug
-
Resolution: Fixed
-
P4
-
None
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.