public interface ForeignCall extends LIRLowerable, DeoptimizingNode.DeoptDuring, MultiMemoryKill, StateSplit, DeoptBciSupplier
DeoptimizingNode.DeoptAfter, DeoptimizingNode.DeoptBefore, DeoptimizingNode.DeoptDuringMemoryKill.NoLocationMULTI_KILL_NO_LOCATION, NO_LOCATION| Modifier and Type | Method and Description |
|---|---|
default boolean |
canDeoptimize()
Determines if this node needs deoptimization information.
|
default void |
computeStateDuring(FrameState currentStateAfter)
Compute the
FrameState describing the program state during the execution of this
node from an input FrameState describing the program state after finishing the
execution of this node. |
default void |
generate(NodeLIRBuilderTool gen) |
NodeInputList<ValueNode> |
getArguments() |
ForeignCallDescriptor |
getDescriptor() |
default org.graalvm.word.LocationIdentity[] |
getKilledLocationIdentities()
This method is used to determine which set of memory locations is killed by this node.
|
default boolean |
isGuaranteedSafepoint() |
default Value[] |
operands(NodeLIRBuilderTool gen) |
void |
setBci(int bci)
Remember the byte code index (BCI) for code generation or lowering purposes.
|
setStateDuring, stateDuringhasSideEffect, setStateAfter, stateAfterstatesasFixedNodeasNodeasMultiMemoryKill, asSingleMemoryKill, isMemoryKill, isMultiMemoryKill, isSingleMemoryKillbciNodeInputList<ValueNode> getArguments()
void setBci(int bci)
DeoptBciSuppliersetBci in interface DeoptBciSupplierForeignCallDescriptor getDescriptor()
default org.graalvm.word.LocationIdentity[] getKilledLocationIdentities()
MultiMemoryKillLocationIdentity.any() will kill all memory locations.getKilledLocationIdentities in interface MultiMemoryKilldefault Value[] operands(NodeLIRBuilderTool gen)
default void computeStateDuring(FrameState currentStateAfter)
DeoptimizingNode.DeoptDuringFrameState describing the program state during the execution of this
node from an input FrameState describing the program state after finishing the
execution of this node.computeStateDuring in interface DeoptimizingNode.DeoptDuringdefault boolean canDeoptimize()
DeoptimizingNodecanDeoptimize in interface DeoptimizingNodedefault boolean isGuaranteedSafepoint()
default void generate(NodeLIRBuilderTool gen)
generate in interface LIRLowerable