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

G1: Improve liveness check for empty pinned regions after full gc marking

    XMLWordPrintable

Details

    • gc
    • b19

    Description

      For open archive regions after marking we check whether anything is still live in there using a bitmap scan.

      However in JDK-8263495 we added code to gather per-region liveness during full gc marking, so that bitmap scan can be replaced by a much faster lookup of the current liveness in that region.

      to be exact, in:

      bool G1FullGCPrepareTask::G1CalculatePointersClosure::do_heap_region(HeapRegion* hr) {

          } else if (hr->is_open_archive()) {
            bool is_empty = _bitmap->get_next_marked_addr(hr->bottom(), hr->top()) >= hr->top();
            if (is_empty) {
              free_open_archive_region(hr);
            }

      the is_empty assignment can be rewritten as proposed.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: