Class DirectCallNode

    • Field Detail

      • callTarget

        protected final CallTarget callTarget
    • Constructor Detail

      • DirectCallNode

        protected DirectCallNode​(CallTarget callTarget)
    • Method Detail

      • call

        public abstract java.lang.Object call​(VirtualFrame frame,
                                              java.lang.Object[] arguments)
        Calls the inner CallTarget returned by getCurrentCallTarget().
        Parameters:
        arguments - the arguments that should be passed to the callee
        Returns:
        the return result of the call
      • isInlinable

        public abstract boolean isInlinable()
        Returns true if the underlying runtime system supports inlining for the CallTarget in this DirectCallNode.
        Returns:
        true if inlining is supported.
      • isInliningForced

        public abstract boolean isInliningForced()
        Returns true if the CallTarget is forced to be inlined. A DirectCallNode can either be inlined manually by invoking forceInlining() or by the runtime system which may at any point decide to inline.
        Returns:
        true if this method was inlined else false.
      • forceInlining

        public abstract void forceInlining()
        Enforces the runtime system to inline the CallTarget at this call site. If the runtime system does not support inlining or it is already inlined this method has no effect. The runtime system may decide to not inline calls which were forced to inline.
      • isInlined

        @Deprecated
        public final boolean isInlined()
        Deprecated.
        we do not expose this information any longer. returns always false.
        Returns true if the runtime system has decided to inline this call-site. If the DirectCallNode was forced to inline then this does not necessarily mean that the DirectCallNode is really going to be inlined. This depends on whether or not the runtime system supports inlining. The runtime system may also decide to not inline calls which were forced to inline.
      • isCallTargetCloningAllowed

        public abstract boolean isCallTargetCloningAllowed()
        Returns true if the runtime system supports cloning and the RootNode returns true in RootNode.isCloningAllowed().
        Returns:
        true if the target is allowed to be cloned.
      • isCallTargetCloned

        public final boolean isCallTargetCloned()
        Returns true if the target of the DirectCallNode was cloned by the runtime system or by the guest language implementation.
        Returns:
        if the target was split
      • toString

        public java.lang.String toString()
        Description copied from class: Node
        Converts this node to a textual representation useful for debugging.
        Overrides:
        toString in class Node