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

Shenandoah: remove CM-with-UR piggybacking cycles

XMLWordPrintable

    • gc
    • b14

        Current Shenandoah is able to piggyback the update references on the next concurrent mark. This feature was in Shenandoah from day one. The major benefit at that time was about skipping the update references pass over the heap.

        It does, however, run into problems:
         a) It hoards the collection set until next cycle is done. This is a major issue, because the next cycle would come much sooner since the free space is now taken by collection set.
         b) Heuristics needs to decide whether to do this shortcut or not, leading to awkward control problems, where that decision might be incorrect;
         c) A lot of code assumes that there could be forwarded objects during concurrent mark.

        In field testing, diving into such a piggyback cycle usually means the collector is running back-to-back cycles, which implies it has no breathing room. So, CM-with-UR cycle is already deemed the awkward mode to run in.

        We should consider removing this feature to ease maintenance.

              shade Aleksey Shipilev
              shade Aleksey Shipilev
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: