public final class CardTable extends Object
Modifier and Type | Class and Description |
---|---|
protected static class |
CardTable.ReferenceToYoungObjectReferenceVisitor
Visit an object reference and return false if it is a reference to the young space.
|
protected static class |
CardTable.ReferenceToYoungObjectVisitor |
static class |
CardTable.TestingBackDoor
For testing and debugging.
|
static interface |
CardTable.Visitor
An interface for visitors to a card remembered set table.
|
Modifier and Type | Field and Description |
---|---|
static org.graalvm.word.LocationIdentity |
CARD_REMEMBERED_SET_LOCATION
A LocationIdentity to distinguish card locations from other locations.
|
Modifier and Type | Method and Description |
---|---|
protected static boolean |
verify(org.graalvm.word.Pointer ctStart,
org.graalvm.word.Pointer fotStart,
org.graalvm.word.Pointer objectsStart,
org.graalvm.word.Pointer objectsLimit)
Check that:
every clean card indicates an object with no pointers to young space.
that every object with a pointer to young space has a corresponding marked card.
I would like to check that every dirty card has a pointer to young space, but a card may be
dirtied by the storing of a null, which doesn't point to young space.
|
public static final org.graalvm.word.LocationIdentity CARD_REMEMBERED_SET_LOCATION
protected static boolean verify(org.graalvm.word.Pointer ctStart, org.graalvm.word.Pointer fotStart, org.graalvm.word.Pointer objectsStart, org.graalvm.word.Pointer objectsLimit)
CardTable.getMemoryBytesPerEntry()
8 so there's at most one object per card to weed out
ambiguous marked cards.