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

public final class KeepAliveExpression extends Expr
Keep the reference alive until actual completion, including every resumed cut.
  • Constructor Details

  • Method Details

    • prepareTuple

      public void prepareTuple(int[] slots, int offset)
      Description copied from class: Expr
      Bind an existing typed destination while lowering, without executing the expression.
      Overrides:
      prepareTuple in class Expr
    • execute

      public Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
      Specified by:
      execute in class Expr
    • executeInt

      public int executeInt(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException
      Overrides:
      executeInt in class Expr
      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:
      executeLong in class Expr
      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:
      executeFloat in class Expr
      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:
      executeDouble in class Expr
      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:
      executeAddress in class Expr
      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:
      executeDataValue in class Expr
      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:
      executeClosure in class Expr
      Throws:
      com.oracle.truffle.api.nodes.UnexpectedResultException
    • executeTuple

      public Object executeTuple(com.oracle.truffle.api.frame.VirtualFrame frame, int[] slots, int offset)
      Overrides:
      executeTuple in class Expr