public final class MembarNode extends FixedWithNextNode implements LIRLowerable, MemoryCheckpoint.Single
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberableMemoryCheckpoint.Multi, MemoryCheckpoint.Single, MemoryCheckpoint.TypeAssertion| Modifier and Type | Field and Description |
|---|---|
protected int |
barriers |
protected LocationIdentity |
location |
static NodeClass<MembarNode> |
TYPE |
nextNODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
MembarNode(int barriers) |
MembarNode(int barriers,
LocationIdentity location) |
| Modifier and Type | Method and Description |
|---|---|
void |
generate(NodeLIRBuilderTool generator) |
LocationIdentity |
getLocationIdentity()
This method is used to determine which memory location is killed by this node.
|
static void |
memoryBarrier(int barriers) |
static void |
memoryBarrier(int barriers,
LocationIdentity location) |
asNode, next, setNextasConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStampacceptInputs, acceptSuccessors, afterClone, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearSuccessors, copyWithInputs, copyWithInputs, equals, fail, formatTo, getDebugProperties, getDebugProperties, getId, getNodeClass, getUsageAt, getUsageCount, hashCode, hasNoUsages, hasUsages, inputs, isAlive, isDeleted, markDeleted, modCount, newIdentityMap, newIdentityMap, newIdentityMap, newMap, newMap, newMap, newSet, newSet, predecessor, pushInputs, removeUsage, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceFirstInput, replaceFirstSuccessor, safeDelete, simplify, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputsclone, finalize, getClass, notify, notifyAll, wait, wait, waitasNodepublic static final NodeClass<MembarNode> TYPE
protected final int barriers
protected final LocationIdentity location
public MembarNode(int barriers)
public MembarNode(int barriers, LocationIdentity location)
public LocationIdentity getLocationIdentity()
MemoryCheckpoint.SingleLocationIdentity.any() will kill all memory locations.getLocationIdentity in interface MemoryCheckpoint.Singlepublic void generate(NodeLIRBuilderTool generator)
generate in interface LIRLowerablepublic static void memoryBarrier(int barriers)
public static void memoryBarrier(int barriers, LocationIdentity location)