Class KeepAliveExpression
java.lang.Object
com.oracle.truffle.api.nodes.Node
thc.runtime.Expr
thc.runtime.KeepAliveExpression
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Keep the reference alive until actual completion, including every resumed cut.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Constructor Summary
ConstructorsConstructorDescriptionKeepAliveExpression(Expr kept, Expr state, Expr action, CoreRepresentation proof) -
Method Summary
Modifier and TypeMethodDescriptionexecute(com.oracle.truffle.api.frame.VirtualFrame frame) executeAddress(com.oracle.truffle.api.frame.VirtualFrame frame) executeClosure(com.oracle.truffle.api.frame.VirtualFrame frame) executeDataValue(com.oracle.truffle.api.frame.VirtualFrame frame) doubleexecuteDouble(com.oracle.truffle.api.frame.VirtualFrame frame) floatexecuteFloat(com.oracle.truffle.api.frame.VirtualFrame frame) intexecuteInt(com.oracle.truffle.api.frame.VirtualFrame frame) longexecuteLong(com.oracle.truffle.api.frame.VirtualFrame frame) executeTuple(com.oracle.truffle.api.frame.VirtualFrame frame, int[] slots, int offset) voidprepareTuple(int[] slots, int offset) Bind an existing typed destination while lowering, without executing the expression.Methods inherited from class Expr
createWrapper, executeRequiredAddress, executeRequiredClosure, executeRequiredDataValue, executeRequiredDouble, executeRequiredFloat, executeRequiredInt, executeRequiredLong, executeTuple, getCoreSourceLocation, getRepresentation, getSourceSection, getTypedVectorLayout, hasTag, isInstrumentable, located, proven, setCoreSourceLocation, setRepresentationMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, reportReplace, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, getNodeObject, materializeInstrumentableNodes
-
Constructor Details
-
KeepAliveExpression
-
-
Method Details
-
prepareTuple
Description copied from class:ExprBind an existing typed destination while lowering, without executing the expression.- Overrides:
prepareTuplein classExpr
-
execute
-
executeInt
public int executeInt(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeIntin classExpr- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeLong
public long executeLong(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeLongin classExpr- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeFloat
public float executeFloat(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeFloatin classExpr- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeDouble
public double executeDouble(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeDoublein classExpr- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeAddress
public ManagedAddress executeAddress(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeAddressin classExpr- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeDataValue
public DataValue executeDataValue(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeDataValuein classExpr- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeClosure
public Closure executeClosure(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeClosurein classExpr- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeTuple
public Object executeTuple(com.oracle.truffle.api.frame.VirtualFrame frame, int[] slots, int offset) - Overrides:
executeTuplein classExpr
-