Class MembarNode
java.lang.Object
jdk.graal.compiler.graph.Node
jdk.graal.compiler.nodes.ValueNode
jdk.graal.compiler.nodes.FixedNode
jdk.graal.compiler.nodes.FixedWithNextNode
jdk.graal.compiler.nodes.extended.MembarNode
- All Implemented Interfaces:
Cloneable
,Formattable
,MemoryKillMarker
,FixedNodeInterface
,FixedWithNextNodeInterface
,MemoryKill
,SingleMemoryKill
,LIRLowerable
,ValueNodeInterface
Creates a memory barrier.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class jdk.graal.compiler.graph.Node
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectInputChangedCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.InputsChangedCanonicalization, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Nested classes/interfaces inherited from interface jdk.graal.compiler.nodes.memory.MemoryKill
MemoryKill.NoLocation
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final MembarNode.FenceKind
protected final org.graalvm.word.LocationIdentity
static final NodeClass
<MembarNode> Fields inherited from class jdk.graal.compiler.nodes.FixedWithNextNode
next
Fields inherited from class jdk.graal.compiler.nodes.ValueNode
EMPTY_ARRAY, stamp
Fields inherited from class jdk.graal.compiler.graph.Node
NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithOnlyInputEdges
Fields inherited from interface jdk.graal.compiler.nodes.memory.MemoryKill
MULTI_KILL_NO_LOCATION, NO_LOCATION
-
Constructor Summary
ConstructorsConstructorDescriptionMembarNode
(MembarNode.FenceKind fence) MembarNode
(MembarNode.FenceKind fence, org.graalvm.word.LocationIdentity location) -
Method Summary
Modifier and TypeMethodDescriptionvoid
generate
(NodeLIRBuilderTool generator) getDebugProperties
(Map<Object, Object> map) Fills aMap
with properties ofthis
for use in debugging (e.g., to view in the ideal graph visualizer).org.graalvm.word.LocationIdentity
This method is used to determine which memory location is killed by this node.static void
static void
memoryBarrier
(MembarNode.FenceKind fence, org.graalvm.word.LocationIdentity location) Methods inherited from class jdk.graal.compiler.nodes.FixedWithNextNode
asFixedWithNextNode, next, setNext
Methods inherited from class jdk.graal.compiler.nodes.FixedNode
asFixedNode, verifyNode
Methods inherited from class jdk.graal.compiler.nodes.ValueNode
asConstant, asJavaConstant, asNode, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterface
Methods inherited from class jdk.graal.compiler.graph.Node
afterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, dynamicNodeSizeEstimate, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getId, getIdBeforeDeletion, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hasExactlyOneUsageOfType, hashCode, hasMoreThanOneUsage, hasNoUsages, hasUsages, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeDeadUsages, removeUsage, removeUsages, replaceAllInputs, replaceAndDelete, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, singleUsage, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, usages, valueEquals, verify, verify, verifyEdges, verifyInputs, withNodeSourcePosition
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface jdk.graal.compiler.nodes.FixedNodeInterface
asFixedNode
Methods inherited from interface jdk.graal.compiler.nodes.ValueNodeInterface
asNode
-
Field Details
-
TYPE
-
fence
-
location
protected final org.graalvm.word.LocationIdentity location
-
-
Constructor Details
-
MembarNode
-
MembarNode
-
-
Method Details
-
getKilledLocationIdentity
public org.graalvm.word.LocationIdentity getKilledLocationIdentity()Description copied from interface:SingleMemoryKill
This method is used to determine which memory location is killed by this node. Returning the special valueLocationIdentity.any()
will kill all memory locations.- Specified by:
getKilledLocationIdentity
in interfaceSingleMemoryKill
- Returns:
- the identity of the location killed by this node.
-
getDebugProperties
Description copied from class:Node
Fills aMap
with properties ofthis
for use in debugging (e.g., to view in the ideal graph visualizer). Subclasses overriding this method should also fill the map using their superclass.- Overrides:
getDebugProperties
in classNode
- Parameters:
map
-
-
generate
- Specified by:
generate
in interfaceLIRLowerable
-
memoryBarrier
-
memoryBarrier
public static void memoryBarrier(MembarNode.FenceKind fence, org.graalvm.word.LocationIdentity location)
-