Package com.oracle.truffle.api
package com.oracle.truffle.api
Do you want to implement your own
Truffle based
language
? In such case start here
.- Since:
- 0.8 or older
-
ClassDescriptionThis class provides additional operations for
String
as well as character and byte arrays, which may be intrinsified by a compiler.An assumption is a global boolean flag that starts with the value true (i.e., the assumption is valid) and can subsequently be invalidated (usingAssumption.invalidate()
).Represents the target of a call.Assertions about the code produced by the Truffle compiler.Directives that influence the optimizations of the Truffle compiler.Marks fields that should be considered final for a Truffle compilation although they are not final while executing in the interpreter.Marks a method that it is considered as a boundary for Truffle partial evaluation.Marks classes as value types.ContextLocal<T>A context local reference that refers to a value that is created for each polyglot context.A context thread local reference that refers to a value that is created for each polyglot context and thread.This class contains exact math related methods that are generally useful for dynamic language implementations.Directives that influence the optimizations of the host compiler.Marks a method that is an implementation of a Truffle interpreter, and which should receive additional optimization budget.Deprecated.use is no longer needed.Hints to Truffle host inlining that a particular method is partial evaluatable, but it would be a good place for a cutoff when performing host inlining.Represents public information about an instrument.Represents an internal resource of a language that can be lazily unpacked to a cache user directory.Represents a supported CPU architecture.Access to common utilities for unpacking resource files.The annotation used to lookupInternalResource
by an id.Represents a supported operating system.Describes the attributes of an option whosevalue
is in a static field annotated by this annotation.Must be applied on classes containingoption
fields to specify a name prefix if the prefix cannot be inferred by language or instrument.An observer that is notified whenever a child node is replaced.Represents the target of a call to aRootNode
, i.e., to another tree of nodes.Represents an action that is executed at asafepoint
location of the guest language execution.Argument class forThreadLocalAction.perform(Access)
.Class for obtaining the Truffle runtime singleton object of this virtual machine.A handle on a context of a set of Truffle languages.An abstract representation of a file used by Truffle languages.Represents a file's attribute.A view over file's attributes values obtained bygetAttributes
.A detector for findingfile
's MIME type and encoding.A Truffle language implementation contains all the services a language should provide to make it composable with other languages.Context local factory for Truffle languages.Provider for creating context local and context thread local references.Defines the supported policy for reusinglanguages
per context.Represents a reference to the current context.Context thread local factory for Truffle languages.Represents execution environment of theTruffleLanguage
.Mode of exit operation.Request for inline parsing.TruffleLanguage.LanguageReference<L extends TruffleLanguage>Represents a reference to the current language instance.Request for parsing.The annotation to use to register your language to thePolyglot API
.Support for logging in Truffle languages and instruments.AnOptionDescriptors
enhanced to provide a sandbox policy for options.Class containing general Truffle options.Interface representing a Truffle runtime object.A service that provides access to aTruffleRuntime
implementation.Truffle safepoints allow interrupting the guest language execution to execute thread-local actions submitted by a language or tool.Just likeTruffleSafepoint.Interruptible
but allows partial evaluation.Just likeTruffleSafepoint.InterruptibleFunction
but allows partial evaluation.An interrupter allows a foreign thread to interrupt the execution on a separate thread.Function interface that represent interruptable Java methods.Function interface that represent interruptable Java methods.Represents a guest language stack trace.Represents a guest stack trace element.A builder for threads that have access to the appropriateTruffleContext
.