public abstract class SLPrintlnBuiltin extends SLBuiltinNode
standard output. The
different specialization leverage the typed println methods available in Java, i.e.,
primitive values are printed without converting them to a String first.
Printing involves a lot of Java code, so we need to tell the optimizing system that it should not
unconditionally inline everything reachable from the println() method. This is done via the
CompilerDirectives.TruffleBoundary annotations.
| Constructor and Description |
|---|
SLPrintlnBuiltin() |
| Modifier and Type | Method and Description |
|---|---|
Object |
println(Object value,
com.oracle.truffle.api.interop.InteropLibrary interop) |
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, reportPolymorphicSpecialize