Class SLBytecodeRootNode.SLInvoke

java.lang.Object
com.oracle.truffle.sl.bytecode.SLBytecodeRootNode.SLInvoke
Enclosing class:
SLBytecodeRootNode

public static final class SLBytecodeRootNode.SLInvoke extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected static Object
    doDirect(SLFunction function, Object[] arguments, com.oracle.truffle.api.Assumption callTargetStable, com.oracle.truffle.api.RootCallTarget cachedTarget, com.oracle.truffle.api.nodes.DirectCallNode callNode)
     
    protected static Object
    doIndirect(SLFunction function, Object[] arguments, com.oracle.truffle.api.nodes.IndirectCallNode callNode)
    Slow-path code for a call, used when the polymorphic inline cache exceeded its maximum size specified in INLINE_CACHE_SIZE.
    protected static Object
    doInterop(Object function, Object[] arguments, com.oracle.truffle.api.interop.InteropLibrary library, com.oracle.truffle.api.nodes.Node location)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SLInvoke

      public SLInvoke()
  • Method Details

    • doDirect

      protected static Object doDirect(SLFunction function, Object[] arguments, com.oracle.truffle.api.Assumption callTargetStable, com.oracle.truffle.api.RootCallTarget cachedTarget, com.oracle.truffle.api.nodes.DirectCallNode callNode)
    • doIndirect

      protected static Object doIndirect(SLFunction function, Object[] arguments, com.oracle.truffle.api.nodes.IndirectCallNode callNode)
      Slow-path code for a call, used when the polymorphic inline cache exceeded its maximum size specified in INLINE_CACHE_SIZE. Such calls are not optimized any further, e.g., no method inlining is performed.
    • doInterop

      protected static Object doInterop(Object function, Object[] arguments, com.oracle.truffle.api.interop.InteropLibrary library, com.oracle.truffle.api.nodes.Node location)