JDK-8151996 : Revise mark stack memory management in CMMarkstack
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2016-03-16
  • Updated: 2019-02-11
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.
Other
tbdUnresolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
CMMarkstack uses a single contiguous memory area for its mark stack.

First, it reserves MarkStackSize elements of virtual memory, and during mark stack expansion it allows up to MarkStackSizeMax memory. This expansion recreates the virtual space mapping, copies over elements and then continues.

The following things could be looked at and improved:
 - There does not seem to be a need to do this in case of 64 bit machines.
 - use the MmapArrayAllocator to save on initialization code
 - maybe look at some kind of segmented mark stack
 - implement optional pre-touch


Comments
JDK-8159422 already implements use the MmapArrayAllocator; pretouching the global mark stack has been moved to JDK-8165318.
07-09-2016