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

Speedup SATB queue filtering using card table

    Details

    • Type: Enhancement
    • Status: Open
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: 13
    • Fix Version/s: tbd
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc

      Description

      SATB queue filtering involves two predicates: (1) does the object need to be marked, and (2) is the object marked.

      The first involves getting the object's containing region and comparing the object against the region's TAMS.

      A possibly faster, though less precise, test could be made using the card table. The G1 card table has g1_young_card_val() in the cards for young regions. Rather than comparing against the object's region's TAMS, we could filter out just young objects using the card table.

      In particular, this approach might be inlined into compiled Java code, sharing some code with the inlined post-barrier, e.g. obtaining the card table.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              kbarrett Kim Barrett
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: