Investigate putting card table base into G1 thread local data

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Duplicate
    • Priority: P4
    • tbd
    • Affects Version/s: 16
    • Component/s: hotspot
    • gc

      Currently G1 thread local data contains only the two PtrQueues for the marking and dirty card queue.

      It may be worth putting the card table base pointer into it too: currently card table base is encoded directly into the code stream. This takes a lot of space (on x86) there, which may be a problem (one 10 byte instruction for loading the constant), then the comparison taking 3 bytes using that register.
      Putting card table base into TLS would result in a 4 bytes total comparison.

      At least the first check (card in young is young) is laid out in the fast path.

            Assignee:
            Unassigned
            Reporter:
            Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: