All Classes and Interfaces
Class
Description
Mechanism for referring to fields and methods otherwise inaccessible due to Java language access
control rules.
Allows a method annotated with
CField
to have a value type that is narrower (smaller
number of bits) than the C type.Allows a method annotated with
CField
to have a value type that is wider (larger number
of bits) than the C type.This annotation allows to add additional annotations to existing methods but keep the
implementation as it is.
This class provides methods to query annotation information on
AnnotatedElement
s while
trying to prevent, at image build time, side-effecting changes that impact the analysis results.Deprecated, for removal: This API element is subject to removal in a future version.
A ByteSequence is a readable sequence of
byte
values.Denotes a method as a bitfield access of a
C struct
.A pointer to a 8-bit C primitive value.
A pointer to a pointer to a 8-bit C primitive value.
Qualifies a C type as const in an entry-point method signature.
Denotes a method as a C constant value.
Allows access to the value of a
CConstant
during image generation.Defines the context for most other annotations of the C interface: the C header files that need
to be imported, the C macros that need to be defined to properly configure these headers, and
additional flags that should be passed to the C compiler when analyzing the definitions.
Describes a C context.
A pointer to a C primitive 'double' value.
Annotates a method that is a VM entry point.
A
BooleanSupplier
that always returns true
.The built-in methods which can be aliased.
Marker interface for all
exception handler
classes.Special placeholder value for
CEntryPoint.exceptionHandler()
to print the caught exception and
treat it as a fatal error
.Designates an
Isolate
parameter to use as the execution context.Designates an
IsolateThread
parameter to use as the execution context.A
BooleanSupplier
that always returns false
.A function pointer to an
entry point method
that can be, for example, handed
out to C code so that C code can call back into Java code.Annotation to import a C enumeration to Java.
Provides additional properties for a field (i.e., an enumeration value) of Java enumeration
annotated with
CEnum
.Annotation for a method that returns the Java enumeration object for a given C integer value.
Annotation for a method that returns the C integer value for a Java enumeration object.
Denotes a method as a field access of a
C struct
.Denotes a method as a field address computation of a
C struct
.Denotes a method as a field offset access of a
C struct
.A pointer to a C primitive 'float' value.
Denotes a
native
method that calls directly from Java to C, without following the JNI
protocol.Describes the thread state transition performed when the C function is invoked.
Base interface for all function pointers.
Defines the C header file for entry points enclosed by the annotated class or method.
Container for Header file properties.
A pointer to a 32-bit C primitive value.
A pointer to a pointer to a 32-bit C primitive value.
Denotes an external library that needs to be linked in.
A pointer to a 64-bit C primitive value.
Informational only.
Pointer to executable code.
A machine-word-sized value that can be compared for equality.
A polyglot context for Graal guest languages that allows to
evaluate
code.Denotes Java interface that imports a C pointer type.
A pointer to a 16-bit C primitive value.
Denotes Java interface that imports a C struct.
Utility methods to convert between Java types and C types.
An auto-closable that holds a Java
CharSequence
as a null-terminated C char[] array.An auto-closable that holds a Java
CharSequence
[] array as a null-terminated array of
null-terminated C char[]s.Defines a name for C type to be used in an entry-point method signature.
Informational only.
Qualifies a C integer type as unsigned in an entry-point method signature.
Utility methods that provide access to the current isolate.
Mechanism to ensures that an element is not used.
Memory efficient map data structure that dynamically changes its representation depending on the
number of entries and is specially optimized for small number of entries.
Utility methods for the
EconomicMap
.Wraps an existing
Map
as an EconomicMap
.Memory efficient set data structure.
An execution engine for Graal guest languages that allows to inspect the
the installed
guest languages
, instruments
and
their available options.Represents an access policy to the process environment for the guest languages of a context.
Strategy for comparing two objects.
An execution event object passed to an execution listener consumer.
Execution listeners allow to instrument the execution of guest languages.
Features allow clients to intercept the native image generation and run custom initialization
code at various stages.
Access methods available for
Feature.afterAnalysis(org.graalvm.nativeimage.hosted.Feature.AfterAnalysisAccess)
.Access methods available for
Feature.afterCompilation(org.graalvm.nativeimage.hosted.Feature.AfterCompilationAccess)
.Access methods available for
Feature.afterHeapLayout(org.graalvm.nativeimage.hosted.Feature.AfterHeapLayoutAccess)
.Access methods available for
Feature.afterImageWrite(org.graalvm.nativeimage.hosted.Feature.AfterImageWriteAccess)
.Access methods available for
Feature.afterRegistration(org.graalvm.nativeimage.hosted.Feature.AfterRegistrationAccess)
.Access methods available for
Feature.beforeAnalysis(org.graalvm.nativeimage.hosted.Feature.BeforeAnalysisAccess)
.Access methods available for
Feature.beforeCompilation(org.graalvm.nativeimage.hosted.Feature.BeforeCompilationAccess)
.Access methods available for
Feature.beforeHeapLayout(org.graalvm.nativeimage.hosted.Feature.BeforeHeapLayoutAccess)
.Access methods available for
Feature.beforeImageWrite(org.graalvm.nativeimage.hosted.Feature.BeforeImageWriteAccess)
.Access methods available for
Feature.beforeUniverseBuilding(org.graalvm.nativeimage.hosted.Feature.BeforeUniverseBuildingAccess)
.Access methods available for
Feature.duringAnalysis(org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess)
.Access methods available for
Feature.duringSetup(org.graalvm.nativeimage.hosted.Feature.DuringSetupAccess)
.Access methods that are available for all feature methods.
Access methods available for
Feature.isInConfiguration(org.graalvm.nativeimage.hosted.Feature.IsInConfigurationAccess)
.Access methods available for
Feature.onAnalysisExit(org.graalvm.nativeimage.hosted.Feature.OnAnalysisExitAccess)
.Access reachability methods available for
Feature.afterAnalysis(org.graalvm.nativeimage.hosted.Feature.AfterAnalysisAccess)
and
Feature.duringAnalysis(org.graalvm.nativeimage.hosted.Feature.DuringAnalysisAccess)
.A transformer for a field value that can be registered using
Feature.BeforeAnalysisAccess.registerFieldValueTransformer(java.lang.reflect.Field, org.graalvm.nativeimage.hosted.FieldValueTransformer)
.Service-provider for
Truffle
files.A selector for determining which
FileSystem
should handle operations on a given
Path
.A utility class to find various paths of the running GraalVM, as well as the version.
Represents the host access policy of a polyglot context.
If
HostAccess.SCOPED
is used, placing this annotation on an exported host function
excludes it from parameter scoping, i.e.Annotation used by the predefined
HostAccess.EXPLICIT
access policy to mark public
constructors, methods and fields in public classes that should be accessible by the guest
application.Allows guest language to implement a Java type.
List of default host object mappings of mutable target types available in
Value.as(Class)
.Represents the precedence of a target type mapping.
Utility class to retrieve information about the context in which code gets executed.
A key-value store of singleton objects.
Injects the annotated field into the
TargetClass
.Inject accessor methods for the field denoted using an
Alias
annotation.A handle for an instrument installed in an
engine
.Annotation for an invocation method defined in a sub-interface of
CFunctionPointer
.Represents an IO access configuration of a polyglot context.
Builder to create a custom
IO access configuration
.Pointer to the runtime data structure for an isolate.
Support for the creation, access to, and tear-down of isolates.
Parameters for the creation of an isolate.
Builder for a
Isolates.CreateIsolateParameters
instance.An exception thrown in the context of managing isolates.
Identifies a protection domain for an isolate.
Pointer to the runtime data structure for a thread.
If a class annotated with
TargetClass
is also annotated with Substitute
, all
non-substituted methods in that class are by default treated as deleted
.A handle for a Graal language installed in an
engine
.Marker interface for location identities.
Concurrent lock-free pool data structure.
Thread-safe and lock-free prefix-tree implementation in which keys are sequences of 64-bit
values, and the values are 64-bit values.
Policy for allocating objects of the lock-free prefix tree.
Allocator that allocates objects directly on the managed heap.
Allocator that internally maintains several pools of preallocated objects, and allocates
objects from those pools.
Low-level handler for log messages of native images.
Cursor to iterate over a mutable map.
An endpoint representing one side of
message transport
.Allows to take over transport of message communication initiated by an instrument.
Thrown when a transport connection is vetoed.
This exception is thrown when a JNI query tries to access an element that was not
registered
for JNI access in the program.
This exception is thrown when a reflective query (such as
Class.getMethod(String, Class[])
) tries to access an element that was not registered
for reflection in the program.The opaque representation of a handle to a Java object given out to unmanaged code.
Manages a set of
ObjectHandles
.Categorizes options according to user relevance.
Represents metadata for a single option.
An interface to a set of
OptionDescriptor
s.Represents the option key for an option specification.
Represents a mapping between
String
keys and values.Categorizes options according to their stability.
Represents a type of an option that allows to convert string values to Java values.
Represents a set of option values based on an
OptionDescriptor
.Utility class representing a pair of values.
Holder for a pinned object, such that the object doesn't move until the pin is removed.
Root of the interface hierarchy for architectures, OS, and supported combinations of them.
Supported architecture: ARMv8 64-bit.
Supported architecture: x86 64-bit.
Supported operating system: Android.
Supported leaf platform: Android on AArch64 64-bit.
Basis for all Apple operating systems (MacOS and iOS).
Basis for all Apple operating systems on AMD64 (MACOS_AMD64 & IOS_AMD64).
Basis for all Apple operating systems on AMD64 (MACOS_AMD64 & IOS_AMD64).
Marker for elements (types, methods, or fields) that are only visible during native image
generation and cannot be used at run time, regardless of the actual platform.
Supported operating system: iOS.
Supported leaf platform: iOS on AArch 64-bit.
Supported leaf platform: iOS on x86 64-bit.
Supported operating system: Linux.
Supported leaf platform: Linux on AArch64 64-bit.
Basis for all Linux operating systems on AARCH64 (LINUX_AARCH64 & ANDROID_AARCH64).
Supported leaf platform: Linux on x86 64-bit.
Basis for all Linux operating systems on AMD64 (LINUX_AMD64).
Supported leaf platform: Linux on RISC-V 64-bit.
Supported operating system: MacOS.
Supported leaf platform: MacOS on AArch 64-bit.
Supported leaf platform: MacOS on x86 64-bit.
Supported architecture: RISC-V 64-bit.
Supported operating system: Windows.
Supported leaf platform: Windows on AArch 64-bit.
Supported leaf platform: Windows on x86 64-bit.
Restricts the annotated element (type, method, or field) to the specified
Platform
groups.Lowest-level memory access of native C memory.
Marker interface for all
word types
that have the semantic of a pointer (but not
necessarily all the memory access methods defined in Pointer
).Represents an access policy for polyglot builtins in the guest languages.
A polyglot exception represents errors that contain Graal guest languages on the stack trace.
Service-provider for guest languages process builder.
Subprocess attributes passed to
start
method.Represents a source of subprocess input or a destination of subprocess output.
Utility class to get and set properties of the OS process at run time.
Proxy interfaces allow to mimic guest language objects, arrays, executables, primitives and
native objects in Graal languages.
Interface to be implemented to mimic guest language arrays.
Interface to be implemented to mimic guest language objects that represents dates.
Interface to be implemented to mimic guest language objects that represents durations.
Interface to be implemented to mimic guest language objects that are executable.
Interface to be implemented to mimic guest language hash maps.
Interface to be implemented to mimic guest language objects that represents timestamps.
Interface to be implemented to mimic guest language objects that are instantiable.
Interface to be implemented to mimic guest language iterables.
Interface to be implemented to mimic guest language iterators.
Interface to be implemented to mimic native pointers.
Interface to be implemented to mimic guest language objects that contain members.
Interface to be implemented to mimic guest language objects that represents times.
Interface to be implemented to mimic guest language objects that represents timezones.
Denotes a method as a field access of a
structured C memory
.Denotes a method as a field address computation of a
RawStructure
.Denotes a method as a field offset access of a
RawStructure
.Denotes a Java interface that is a pointer to a
RawStructure
.Denotes Java interface that represents C memory, but without a
C struct
definition.Supported API is available to replace this non-API annotation: Use
Feature.BeforeAnalysisAccess.registerFieldValueTransformer(java.lang.reflect.Field, org.graalvm.nativeimage.hosted.FieldValueTransformer)
.A pointer which is relocated when the native image is loaded at runtime.
Event triggered by a resource limit for a context.
Represents resource limits configuration that is used to configure contexts.
This class provides methods that can be called during native-image building to configure class
initialization behavior.
This class provides methods that can be called during native image generation to register
classes, methods, and fields for JNI access at run time.
Used for manipulating options at run time.
This class can be used to make creating dynamic proxy classes at run time valid.
This class provides methods that can be called during native image generation to register
classes, methods, and fields for reflection at run time.
This class can be used to register Java resources and ResourceBundles that should be accessible
at run time.
This class provides methods that can be called before and during analysis, to register classes
for serialization at image runtime.
This class provides methods that can be called during native image generation to define system
property setting for image runtime.
Thread-safe prefix-tree implementation in which keys are sequences of 64-bit values, and the
values are 64-bit values.
Represents a signed word-sized value.
Contains static methods that provide access to the size of dereferenced SystemJava pointer
types (i.e.
Representation of a source code unit and its contents that can be evaluated in an execution
context
.Description of contiguous section of text within a
Source
of program code.; supports
multiple modes of access to the text and its location.Contains static methods for memory allocation in the stack frame.
When used to annotate a method, it indicates that a method declaration is intended to be a
substitute for a method declaration in another class.
A class annotated with this annotation denotes a class that modifies methods of fields of another
class, called the "original" class.
The default value for the
TargetClass.onlyWith()
attribute.Marker value for
TargetClass.classLoader()
that no custom classloader should be used.Marker value for
TargetClass.classNameProvider()
that no class name provider should be used.Specifies additional properties for an element also annotated with
Alias
, Delete
,
Substitute
, AnnotateOriginal
, or KeepOriginal
.Functionality related to execution in threads.
Interface that a callback handler needs to implement.
Provides methods that are available during the execution of a
Threading.RecurringCallback
.Represents a generic type
T
.A
CField
also annotated with this annotation gets a unique LocationIdentity
assigned, i.e., reads and writes do not interfere with reads and writes to any other field and
are optimized without regarding other fields.Contains static methods that allow allocate/free of unmanaged memory, i.e., memory that is not
under the control of the garbage collector.
Unmodifiable memory efficient map.
Unmodifiable memory efficient set data structure.
Cursor to iterate over a map without changing its contents.
Represents an unsigned word-sized value.
Represents a polyglot value that can be accessed using a set of language agnostic operations.
Enum like class representing the supported string encodings.
A version utility to canonicalize and compare GraalVM versions.
Used for doing VM runtime operations.
A
void*
pointer to an opaque C value of an unknown type, without any methods to read or
write.The root of the interface hierarchy for machine-word-sized values.
Provides factory method to create machine-word-sized values.
A untyped C pointer to any machine-word-sized value, e.g., a pointer to another pointer or a
pointer to a
UnsignedWord
or SignedWord
value.