JDK-8038423 : G1: Decommit memory within the heap
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 8u40,9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-03-26
  • Updated: 2015-08-12
  • Resolved: 2014-08-19
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 8 JDK 9
8u40Fixed 9 b29Fixed
Related Reports
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
In some cases the ergonomics is trying to shrink a heap that is fairly empty, but fails due to allocated regions at the top of the heap that G1 chooses not to move for various reasons. To work around this without having to pay extra in performance by moving these regions, we should make it possible to decommit memory within the heap - i.e. make the heap capable of handling holes in the committed heap area.

This will require changes in freelist management, virtual space management, and misc parts of the GC code that assumes that the heap is one contiguous area.