JDK-8211955 : GC abstraction for LAB reserve
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2018-10-09
  • Updated: 2018-10-18
  • Resolved: 2018-10-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 12
12 b16Fixed
Related Reports
Blocks :  
Description
TLABs need to be made parseable before GC. This means to fill remaining space with a dummy object, so that there remain no holes in the heap, and the heap becomes contiguously filled with objects. However, since we cannot (generally) fill holes with arbitrarily small objects, we need an 'allocation reserve' at the end of TLABs (and PLABs).

Current PLAB and TLAB reserve assumes a specific object size. GCs like Shenandoah need to allocate a little more space per object and thus require some abstraction to get the minimum filler object size / allocation reserve.