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

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    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 transferToInterpreterOnException
      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.
      Since:
      0.28
      Default:
      true
    • allowInlining

      boolean allowInlining
      Considers 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