Relates :
|
In G1CollectedHeap::max_tlab_size(), the maximum TLAB size is defined as align_size_down(_humongous_object_threshold_in_words - 1, MinObjAlignment); but G1CollectedHeap::is_humongous(size_t word_size) determines humonguous objects as word_size > _humongous_object_threshold_in_words Which means that G1CollectedHeap::max_tlab_size() is actually one word too small. Also _filler_array_max_size is equal to _humongous_object_threshold_in_words (not -1), so that "- 1" seems some arbitrary difference. This is very annoying with JDK-8078555 now checking these requirements, and the user wanting to set half region size as PLAB/TLAB size. :)