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

Investigate dropping prev mark bitmap in G1

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: P4 P4
    • tbd
    • 12
    • hotspot
    • gc

      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

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

              Created:
              Updated:
              Resolved: