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

Fix the closure mess in G1RemSet::refine_card()

    Details

    • Subcomponent:
      gc
    • Resolved In Build:
      b21

      Description

      In G1RemSet::refine_card the code stacks multiple OopClosures like TriggerClosure, G1InvokeIfNotTriggeredClosure, G1Mux2Closure, FilterIntoCSClosure, FilterOutOfRegionClosure and G1UpdateRSOrPushRefOopClosure to achieve the same effect as a few if-then-else statements.

      This is complicated and hard to understand, and even the compiler does not seem to be able to inline through it to avoid unnecessary call overhead.

      Remove this unnecessarily generalized way of doing things. This will also allow removal of quite a bit of code.

      This should give a few percent of (scan/update rs) performance too.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: