JDK-8228965 : VM_GenCollectFull is not always a full collection
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 14
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2019-08-01
  • Updated: 2019-08-02
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
Relates :  
Description
A VM_GenCollectFull VMOp is always used by GCH::collect_locked, even when the max_generation is YoungGen.  This leads to some confusion further down the call chain.  The VMOp calls GCH::do_full_collection, which calls GCH::do_collection with a true first (full) argument, even though the max_generation argument is YoungGen.

That mismatch between the full argument and the max_generation argument leads to some confusing code and results in do_collection.  (See discussion in JDK-8048556, for example.  Some of the confusion was fixed there, but some remains.)  Some name changes, or having two VM operations for collect_lock to use, seems called for, with the goal of having do_collection called with consistent arguments.