Interface JSBuiltinNode.Inlineable

All Superinterfaces:
com.oracle.truffle.api.nodes.NodeInterface
All Known Implementing Classes:
ConstructorBuiltins.CallSymbolNode, ConstructorBuiltins.CallSymbolNode.Inlined, DebugBuiltins.DebugNeverPartOfCompilationNode, StringPrototypeBuiltins.JSStringCharAtNode, StringPrototypeBuiltins.JSStringCharAtNode.Inlined, StringPrototypeBuiltins.JSStringCharCodeAtNode, StringPrototypeBuiltins.JSStringCharCodeAtNode.Inlined, StringPrototypeBuiltins.JSStringSubstringNode, StringPrototypeBuiltins.JSStringSubstringNode.Inlined
Enclosing class:
JSBuiltinNode

public static interface JSBuiltinNode.Inlineable extends com.oracle.truffle.api.nodes.NodeInterface
Interface for trivial built-in nodes that can be inlined without going through a call. The built-in function must not make any calls and must not throw an error (note that argument conversions and side-effecting accesses could make calls or throw errors); otherwise it could be observed that no actual call was made. The inlined node must check these preconditions to ensure it is safe to do an inline execution or throw JSBuiltinNode.RewriteToCallException.