public final class CFunctionPrologueDataNode extends org.graalvm.compiler.nodes.ValueNode implements CPrologueData, org.graalvm.compiler.nodes.spi.LIRLowerable
CFunctionPrologueNode
to the
InvokeNode
. This is necessary because the prologue of a C function is decoupled from the
actual invocation of the C function even though the backend needs information about the prologue
when emitting the call.org.graalvm.compiler.graph.Node.ConstantNodeParameter, org.graalvm.compiler.graph.Node.EdgeVisitor, org.graalvm.compiler.graph.Node.IndirectCanonicalization, org.graalvm.compiler.graph.Node.InjectedNodeParameter, org.graalvm.compiler.graph.Node.Input, org.graalvm.compiler.graph.Node.NodeInsertionStackTrace, org.graalvm.compiler.graph.Node.NodeIntrinsic, org.graalvm.compiler.graph.Node.NodeIntrinsicFactory, org.graalvm.compiler.graph.Node.OptionalInput, org.graalvm.compiler.graph.Node.Successor, org.graalvm.compiler.graph.Node.ValueNumberable
Modifier and Type | Field and Description |
---|---|
static org.graalvm.compiler.graph.NodeClass<CFunctionPrologueDataNode> |
TYPE |
Constructor and Description |
---|
CFunctionPrologueDataNode(org.graalvm.compiler.nodes.ValueNode frameAnchor,
int newThreadStatus) |
Modifier and Type | Method and Description |
---|---|
static CPrologueData |
cFunctionPrologueData(JavaFrameAnchor frameAnchor,
int newThreadStatus) |
org.graalvm.compiler.nodes.ValueNode |
frameAnchor() |
void |
generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool generator) |
int |
getNewThreadStatus() |
asConstant, asJavaConstant, asNode, asSerializableConstant, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, replaceAtUsages, setStamp, stamp, updateStamp
afterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, simplify, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verify, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePosition
public static final org.graalvm.compiler.graph.NodeClass<CFunctionPrologueDataNode> TYPE
public CFunctionPrologueDataNode(org.graalvm.compiler.nodes.ValueNode frameAnchor, int newThreadStatus)
public org.graalvm.compiler.nodes.ValueNode frameAnchor()
public int getNewThreadStatus()
public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool generator)
generate
in interface org.graalvm.compiler.nodes.spi.LIRLowerable
public static CPrologueData cFunctionPrologueData(JavaFrameAnchor frameAnchor, int newThreadStatus)