public class CardTableBarrierSet extends Object implements BarrierSet
| Constructor and Description |
|---|
CardTableBarrierSet(ResolvedJavaType objectArrayType) |
public OnHeapMemoryAccess.BarrierType readBarrierType(RawLoadNode load)
readBarrierType in interface BarrierSetpublic OnHeapMemoryAccess.BarrierType storeBarrierType(RawStoreNode store)
storeBarrierType in interface BarrierSetpublic OnHeapMemoryAccess.BarrierType fieldLoadBarrierType(ResolvedJavaField field, JavaKind storageKind)
fieldLoadBarrierType in interface BarrierSetpublic OnHeapMemoryAccess.BarrierType fieldStoreBarrierType(ResolvedJavaField field, JavaKind storageKind)
fieldStoreBarrierType in interface BarrierSetpublic OnHeapMemoryAccess.BarrierType arrayStoreBarrierType(JavaKind storageKind)
arrayStoreBarrierType in interface BarrierSetpublic OnHeapMemoryAccess.BarrierType guessStoreBarrierType(ValueNode object, ValueNode value)
guessStoreBarrierType in interface BarrierSetpublic void addBarriers(FixedAccessNode n)
addBarriers in interface BarrierSetpublic boolean needsBarrier(FixedAccessNode n)
public boolean hasBarrier(FixedAccessNode n)
public boolean isMatchingBarrier(FixedAccessNode n, WriteBarrier barrier)
public void addArrayRangeBarriers(ArrayRangeWrite write)
public boolean needsWriteBarrier(FixedAccessNode node, ValueNode writtenValue)
protected boolean writeRequiresBarrier(FixedAccessNode node, ValueNode writtenValue)
public static boolean needsWriteBarrier(ArrayRangeWrite write)
public boolean mayNeedPreWriteBarrier(JavaKind storageKind)
BarrierSetstorageKind may ever need a pre-write barrier.mayNeedPreWriteBarrier in interface BarrierSetfalse if no writes of storageKind ever need a pre-write barrier;
true if writes of storageKind may need a pre-write barrier at least
under certain circumstances.