JDK-8067336 : Allow that PLAB allocations at the end of regions are flexible
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-12-12
  • Updated: 2015-11-09
  • Resolved: 2015-08-25
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 9
9 b81Fixed
Related Reports
Blocks :  
Relates :  
Relates :  
Description
Investigation in JDK-8030849 showed that there is a very large amount of wasted memory when allocating PLABs due to the region end being a hard boundary and the PLAB size not flexible.

E.g. if you want to allocate a PLAB of size 20k (to allocate regular sized objects), but there is only 19k left, the current allocation algorithm simply skips to the next region.

Fix this by allowing the allocator to return smaller (but large enough to fit the allocation) PLABs in this case.
Comments
Would be nice to test. RFE JDK-8067455 is filed for that case.
15-12-2014