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

Investigate dropping prev mark bitmap in G1

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Duplicate
    • P4
    • tbd
    • 12
    • hotspot
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: