public abstract class G1WriteBarrierSnippets extends WriteBarrierSnippets implements Snippets
| Modifier and Type | Class and Description |
|---|---|
static class |
G1WriteBarrierSnippets.Counters |
static class |
G1WriteBarrierSnippets.G1WriteBarrierLowerer |
| Modifier and Type | Field and Description |
|---|---|
static org.graalvm.word.LocationIdentity |
CARD_QUEUE_BUFFER_LOCATION |
static org.graalvm.word.LocationIdentity |
CARD_QUEUE_INDEX_LOCATION |
static org.graalvm.word.LocationIdentity |
CARD_QUEUE_LOG_LOCATION |
protected static org.graalvm.word.LocationIdentity[] |
KILLED_POST_WRITE_BARRIER_STUB_LOCATIONS |
protected static org.graalvm.word.LocationIdentity[] |
KILLED_PRE_WRITE_BARRIER_STUB_LOCATIONS |
static org.graalvm.word.LocationIdentity |
SATB_QUEUE_BUFFER_LOCATION |
static org.graalvm.word.LocationIdentity |
SATB_QUEUE_INDEX_LOCATION |
static org.graalvm.word.LocationIdentity |
SATB_QUEUE_LOG_LOCATION |
static org.graalvm.word.LocationIdentity |
SATB_QUEUE_MARKING_ACTIVE_LOCATION |
GC_CARD_LOCATION| Constructor and Description |
|---|
G1WriteBarrierSnippets() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract int |
cardQueueBufferOffset() |
protected abstract int |
cardQueueIndexOffset() |
protected abstract Word |
cardTableAddress(org.graalvm.word.Pointer oop) |
protected abstract byte |
dirtyCardValue() |
void |
g1ArrayRangePostWriteBarrier(AddressNode.Address address,
long length,
int elementStride) |
void |
g1ArrayRangePreWriteBarrier(AddressNode.Address address,
long length,
int elementStride) |
void |
g1PostWriteBarrier(AddressNode.Address address,
Object object,
Object value,
boolean usePrecise,
int traceStartCycle,
G1WriteBarrierSnippets.Counters counters) |
void |
g1PreWriteBarrier(AddressNode.Address address,
Object object,
Object expectedObject,
boolean doLoad,
boolean nullCheck,
int traceStartCycle,
G1WriteBarrierSnippets.Counters counters) |
void |
g1ReferentReadBarrier(AddressNode.Address address,
Object object,
Object expectedObject,
int traceStartCycle,
G1WriteBarrierSnippets.Counters counters) |
protected abstract long |
gcTotalCollectionsAddress() |
protected abstract Word |
getThread() |
protected abstract int |
logOfHeapRegionGrainBytes() |
protected abstract int |
objectArrayIndexScale() |
protected abstract ForeignCallDescriptor |
postWriteBarrierCallDescriptor() |
protected abstract ForeignCallDescriptor |
preWriteBarrierCallDescriptor() |
protected abstract ForeignCallDescriptor |
printfCallDescriptor() |
protected abstract ResolvedJavaType |
referenceType() |
protected abstract long |
referentOffset() |
protected abstract int |
satbQueueBufferOffset() |
protected abstract int |
satbQueueIndexOffset() |
protected abstract int |
satbQueueMarkingActiveOffset() |
protected abstract ForeignCallDescriptor |
validateObjectCallDescriptor() |
protected abstract boolean |
verifyBarrier() |
protected abstract ForeignCallDescriptor |
verifyOopCallDescriptor() |
protected abstract boolean |
verifyOops() |
protected abstract int |
wordSize() |
protected abstract byte |
youngCardValue() |
getPointerToFirstArrayElement, getPointerToLastArrayElement, verifyNotArraypublic static final org.graalvm.word.LocationIdentity SATB_QUEUE_MARKING_ACTIVE_LOCATION
public static final org.graalvm.word.LocationIdentity SATB_QUEUE_BUFFER_LOCATION
public static final org.graalvm.word.LocationIdentity SATB_QUEUE_LOG_LOCATION
public static final org.graalvm.word.LocationIdentity SATB_QUEUE_INDEX_LOCATION
public static final org.graalvm.word.LocationIdentity CARD_QUEUE_BUFFER_LOCATION
public static final org.graalvm.word.LocationIdentity CARD_QUEUE_LOG_LOCATION
public static final org.graalvm.word.LocationIdentity CARD_QUEUE_INDEX_LOCATION
protected static final org.graalvm.word.LocationIdentity[] KILLED_PRE_WRITE_BARRIER_STUB_LOCATIONS
protected static final org.graalvm.word.LocationIdentity[] KILLED_POST_WRITE_BARRIER_STUB_LOCATIONS
public void g1PreWriteBarrier(AddressNode.Address address, Object object, Object expectedObject, boolean doLoad, boolean nullCheck, int traceStartCycle, G1WriteBarrierSnippets.Counters counters)
public void g1ReferentReadBarrier(AddressNode.Address address, Object object, Object expectedObject, int traceStartCycle, G1WriteBarrierSnippets.Counters counters)
public void g1PostWriteBarrier(AddressNode.Address address, Object object, Object value, boolean usePrecise, int traceStartCycle, G1WriteBarrierSnippets.Counters counters)
public void g1ArrayRangePreWriteBarrier(AddressNode.Address address, long length, int elementStride)
public void g1ArrayRangePostWriteBarrier(AddressNode.Address address, long length, int elementStride)
protected abstract Word getThread()
protected abstract int wordSize()
protected abstract int objectArrayIndexScale()
protected abstract int satbQueueMarkingActiveOffset()
protected abstract int satbQueueBufferOffset()
protected abstract int satbQueueIndexOffset()
protected abstract int cardQueueBufferOffset()
protected abstract int cardQueueIndexOffset()
protected abstract byte dirtyCardValue()
protected abstract byte youngCardValue()
protected abstract Word cardTableAddress(org.graalvm.word.Pointer oop)
protected abstract int logOfHeapRegionGrainBytes()
protected abstract ForeignCallDescriptor preWriteBarrierCallDescriptor()
protected abstract ForeignCallDescriptor postWriteBarrierCallDescriptor()
protected abstract boolean verifyOops()
protected abstract boolean verifyBarrier()
protected abstract long gcTotalCollectionsAddress()
protected abstract ForeignCallDescriptor verifyOopCallDescriptor()
protected abstract ForeignCallDescriptor validateObjectCallDescriptor()
protected abstract ForeignCallDescriptor printfCallDescriptor()
protected abstract ResolvedJavaType referenceType()
protected abstract long referentOffset()