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

G1: Rebuild remembered sets for some regions during full gc

    XMLWordPrintable

    Details

    • Subcomponent:
      gc

      Description

      Currently G1 full gc drops all remembered sets for all regions.

      This makes G1 loose the capability to reclaim regions it could not compact this time later:

      - humongous objects via eager reclaim
      - regions pinned during full gc
      - almost empty tail regions

      Also, after JDK-8253600 HeapRegion::_prev_marked_bytes for pinned regions is only updated conservatively, not exactly. The reason is that since we drop all the remembered sets during full gc this information can't be used anyway and the conservative estimate is sufficient.

      One option for implementation is to ask the remembered set policy during the prepare phase whether remembered sets for that region should be updated, and if so, pushed into a dirty card queue like for young gc.

        Attachments

          Activity

            People

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

              Dates

              Created:
              Updated: