Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8228965

VM_GenCollectFull is not always a full collection

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Open
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: 14
    • Fix Version/s: tbd
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              kbarrett Kim Barrett
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated: