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

Fix the closure mess in G1RemSet::refine_card()

XMLWordPrintable

    • gc
    • b21

      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.

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

              Created:
              Updated:
              Resolved: