Parallel: Refactor ParMarkBitMap::iterate

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Fixed
    • Priority: P4
    • 23
    • Affects Version/s: 23
    • Component/s: hotspot
    • gc
    • b13

      In the compaction phase of a full-GC, we perform bitmap-iteration for two purposes:

      1. Inside the dense-prefix, adjust pointers in live ranges and fill dead ranges with fillers.
      2. Outside the dense-prefix, to relocate objects and adjust pointers in live ranges.

      For work partitioning, such bitmap-iteration is done on a region granularity. If the final object on a region extends to the next region, the iteration logic will end with an "incomplete" status. The caller is then responsible for invoking the live-closure itself.

      To reduce the number of possible return statuses, the iteration logic can directly invoke the live-closure on the final object in a region.

            Assignee:
            Albert Yang
            Reporter:
            Albert Yang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: