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

Fix the closure mess in G1RemSet::refine_card()

    XMLWordPrintable

Details

    • gc
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: