Package com.oracle.truffle.api
Annotation Interface CompilerDirectives.TruffleBoundary
- Enclosing class:
CompilerDirectives
@Retention(RUNTIME)
@Target({METHOD,CONSTRUCTOR})
public static @interface CompilerDirectives.TruffleBoundary
Marks a method that it is considered as a boundary for Truffle partial evaluation.
- Since:
- 0.8 or earlier
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionboolean
Considers this Truffle boundary invoke as an inlining candidate.boolean
Determines whether execution should be transferred to the interpreter if an exception is thrown across this boundary, in which case the caller's compiled code is invalidated and will not transfer to the interpreter on exceptions for this method again.
-
Element Details
-
transferToInterpreterOnException
boolean transferToInterpreterOnExceptionDetermines whether execution should be transferred to the interpreter if an exception is thrown across this boundary, in which case the caller's compiled code is invalidated and will not transfer to the interpreter on exceptions for this method again.- Since:
- 0.28
- Default:
true
-
allowInlining
boolean allowInliningConsiders this Truffle boundary invoke as an inlining candidate. Partial evaluation cannot inline a boundary, but a later inlining pass can.- Since:
- 0.27
- Default:
false
-