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

G1: Ensure that each ref field is scanned exactly once during evacuation pauses

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: P3 P3
    • tbd
    • hs23
    • hotspot
    • gc
    • generic
    • generic

      Currently, the G1 GC code is robust wrt to a reference field being scanned twice. The main reason this was done was to deal with cards being scanned twice (given that currently a GC worker that scans a card does not claim it atomically). See also "7114095: G1: assert(obj == oopDesc::load_decode_heap_oop(p)) failed: p should still be pointing to obj" for an additional scenario.

      The downside of the above approach is that we need two "is in CSet" checks for every ref field we push on / pop from the "to do" taskqueue. If we guarantee that each ref field is scanned once we can avoid the second check which might speed up GCs (a bit) and will also simplify the GC code.

            Unassigned Unassigned
            tonyp Tony Printezis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: