Class GlobalBuiltins.JSGlobalIndirectEvalNode

All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Enclosing class:
GlobalBuiltins

public abstract static class GlobalBuiltins.JSGlobalIndirectEvalNode extends JSBuiltinNode
This node is used only for indirect calls to eval. Direct calls are handled by EvalNode.
  • Constructor Details

    • JSGlobalIndirectEvalNode

      public JSGlobalIndirectEvalNode(JSContext context, JSBuiltin builtin)
  • Method Details

    • indirectEvalString

      protected Object indirectEvalString(com.oracle.truffle.api.strings.TruffleString source, com.oracle.truffle.api.strings.TruffleString.ToJavaStringNode toJavaString)
    • indirectEvalForeignObject

      protected Object indirectEvalForeignObject(Object source, com.oracle.truffle.api.interop.InteropLibrary interop, com.oracle.truffle.api.strings.TruffleString.SwitchEncodingNode switchEncoding, com.oracle.truffle.api.strings.TruffleString.ToJavaStringNode toJavaString)
    • indirectEvalInt

      protected int indirectEvalInt(int source)
    • indirectEvalSafeInteger

      protected SafeInteger indirectEvalSafeInteger(SafeInteger source)
    • indirectEvalLong

      protected long indirectEvalLong(long source)
    • indirectEvalDouble

      protected double indirectEvalDouble(double source)
    • indirectEvalBoolean

      protected boolean indirectEvalBoolean(boolean source)
    • indirectEvalSymbol

      protected Symbol indirectEvalSymbol(Symbol source)
    • indirectEvalBigInt

      protected BigInt indirectEvalBigInt(BigInt source)
    • indirectEvalJSType

      public JSDynamicObject indirectEvalJSType(JSDynamicObject object)
    • isCallerSensitive

      public boolean isCallerSensitive()
      Description copied from class: JSBuiltinNode
      If true, this function needs the call source location. The call node uses this hint to try and pass the call node via a thread-local field (in the case of a direct call) that the built-in can then use to avoid an expensive stack walk.
      Overrides:
      isCallerSensitive in class JSBuiltinNode