Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8141940 | emb-9 | Thomas Schatzl | P4 | Resolved | Fixed | team |
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 withJDK-8078555 now checking these requirements, and the user wanting to set half region size as PLAB/TLAB size. :)
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
- backported by
-
JDK-8141940 Inconsistency in maximum TLAB/PLAB size and humonguous object size
-
- Resolved
-
- relates to
-
JDK-8078555 GC: implement ranges (optionally constraints) for those flags that have them missing
-
- Resolved
-