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

Investigate dropping prev mark bitmap in G1

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P4
    • Resolution: Duplicate
    • Affects Version/s: 12
    • Fix Version/s: tbd_major
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc

      Description

      The reason why G1 currently needs the "prev" bitmap is that after class unloading (at remark time at the moment) there will be objects that are not parseable in the old gen heap. (This property is required for e.g. remset scanning).

      We could make the heap parseable again by stuffing integer arrays into these places. Previously we thought that iterating the heap was too expensive to do, so we did not consider this.

      However, during rebuild remset we already concurrently walk the heap.

      Care needs to be taken about the BOT (which needs to be updated as well), and that we then need to move the class unloading into the Cleanup pause, i.e. keep the heap parseable during gcs while rebuilding.

      Advantages:
      1.5% of Java heap memory saved
      potential speedups during scanning cards (refinement, during GC)

      Disadvantages:
      concurrent BOT update
      lengthens concurrent cycle
      classes can not be unloaded as early as now

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                tschatzl Thomas Schatzl
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: