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

Investigate dropping one of the mark bitmaps in G1

    XMLWordPrintable

    Details

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

      Description

      The reason we need the second "complete" bitmap is that after class unloading (at Remark at this time) there will be objects that are not parseable in the old gen heap. We could make the heap parseable again by stuffing integer arrays into these places.
      Previously we thought that iterating over the heap was too expensive to do, so we did not.
      However, due to rebuild remset during concurrent cycle we already walk the heap.
      So it might be useful to try this out: it would probably improve gc pause times (and refinement) too as then we would not need to ask the bitmap for liveness...
      The disadvantage obviously is that we would need to move class unloading to after the rebuild remset phase into Cleanup.

      Implement and evaluate performance impact.

      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 Unassigned
              Reporter:
              tschatzl Thomas Schatzl
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: