public abstract class SLEvalBuiltin extends SLBuiltinNode
The call target is cached against the language id and the source code, so that if they are the same each time then a direct call will be made to a cached AST, allowing it to be compiled and possibly inlined.
| Constructor and Description |
|---|
SLEvalBuiltin() |
| Modifier and Type | Method and Description |
|---|---|
Object |
evalCached(com.oracle.truffle.api.strings.TruffleString id,
com.oracle.truffle.api.strings.TruffleString code,
com.oracle.truffle.api.strings.TruffleString cachedId,
com.oracle.truffle.api.strings.TruffleString cachedCode,
com.oracle.truffle.api.nodes.DirectCallNode callNode,
com.oracle.truffle.api.strings.TruffleString.EqualNode equalNodeId,
com.oracle.truffle.api.strings.TruffleString.EqualNode equalNodeCode) |
Object |
evalUncached(com.oracle.truffle.api.strings.TruffleString id,
com.oracle.truffle.api.strings.TruffleString code) |
protected com.oracle.truffle.api.CallTarget |
parse(com.oracle.truffle.api.strings.TruffleString id,
com.oracle.truffle.api.strings.TruffleString code) |
protected static boolean |
stringsEqual(com.oracle.truffle.api.strings.TruffleString.EqualNode node,
com.oracle.truffle.api.strings.TruffleString a,
com.oracle.truffle.api.strings.TruffleString b) |
execute, executeBoolean, executeGeneric, executeLong, executeVoidaddExpressionTag, createWrapper, hasTagaddRootTag, addStatementTag, formatSourceSection, getSourceCharIndex, getSourceEndIndex, getSourceLength, getSourceSection, hasSource, isInstrumentable, setSourceSection, setUnavailableSourceSection, toStringfindBlock, getVisibleVariablesIndexOnEnter, hasScope, setVisibleVariablesIndexOnEnter, setVisibleVariablesIndexOnExitaccept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecializepublic Object evalCached(com.oracle.truffle.api.strings.TruffleString id, com.oracle.truffle.api.strings.TruffleString code, com.oracle.truffle.api.strings.TruffleString cachedId, com.oracle.truffle.api.strings.TruffleString cachedCode, com.oracle.truffle.api.nodes.DirectCallNode callNode, com.oracle.truffle.api.strings.TruffleString.EqualNode equalNodeId, com.oracle.truffle.api.strings.TruffleString.EqualNode equalNodeCode)
public Object evalUncached(com.oracle.truffle.api.strings.TruffleString id, com.oracle.truffle.api.strings.TruffleString code)
protected com.oracle.truffle.api.CallTarget parse(com.oracle.truffle.api.strings.TruffleString id,
com.oracle.truffle.api.strings.TruffleString code)
protected static boolean stringsEqual(com.oracle.truffle.api.strings.TruffleString.EqualNode node,
com.oracle.truffle.api.strings.TruffleString a,
com.oracle.truffle.api.strings.TruffleString b)