| Interface | Description |
|---|---|
| ArithmeticLIRLowerable | |
| ArrayLengthProvider | |
| Canonicalizable |
Nodes can implement
Canonicalizable or one of the two sub-interfaces Canonicalizable.Unary and
Canonicalizable.Binary to provide local optimizations like constant folding and strength reduction. |
| Canonicalizable.Binary<T extends Node> |
This sub-interface of
Canonicalizable is intended for nodes that have exactly two
inputs. |
| Canonicalizable.BinaryCommutative<T extends Node> |
This sub-interface of
Canonicalizable.Binary is for nodes with two inputs where the
operation is commutative. |
| Canonicalizable.Ternary<T extends Node> |
This sub-interface of
Canonicalizable is intended for nodes that have exactly three
inputs. |
| Canonicalizable.Unary<T extends Node> |
This sub-interface of
Canonicalizable is intended for nodes that have exactly one
input. |
| CanonicalizerTool | |
| CoreProviders | |
| LimitedValueProxy |
This interface is like the derived
ValueProxy. |
| LIRLowerable | |
| LoopsDataProvider |
Provides capabilities for loop detection in a StructuredGraph.
|
| Lowerable |
Interface implemented by nodes that can replace themselves with lower level nodes during a phase
that transforms a graph to replace higher level nodes with lower level nodes.
|
| LoweringProvider |
Provides a capability for replacing a higher node with one or more lower level nodes.
|
| LoweringTool | |
| LoweringTool.LoweringStage |
Marker interface lowering stages.
|
| MemoryEdgeProxy | |
| NodeLIRBuilderTool | |
| NodeValueMap | |
| NodeWithState |
Interface for nodes which have
FrameState nodes as input. |
| PlatformConfigurationProvider | |
| ProfileProvider |
An interface to abstract away the source of profile information used during compilation.
|
| Proxy |
This interface marks nodes whose result is the same as one of their inputs.
|
| Replacements |
Interface for managing replacements.
|
| Simplifiable |
This interface allows nodes to perform more complicated simplifications, in contrast to
Canonicalizable, which supports only replacing the current node. |
| SimplifierTool | |
| StampInverter | |
| StampProvider |
Provides a capability for creating platform dependent stamps.
|
| SwitchFoldable |
Nodes that implement this interface can be collapsed to a single IntegerSwitch when they are seen
in a cascade.
|
| UncheckedInterfaceProvider | |
| ValueProxy |
This interface marks nodes whose result is the same as one of their inputs.
|
| Virtualizable |
This interface allows a node to convey information about what its effect would be if some of its
inputs were virtualized.
|
| VirtualizableAllocation |
This interface allows a node to convey information about what its effect would be if some of its
inputs were virtualized.
|
| VirtualizerTool |
This tool can be used to query the current state (normal/virtualized/re-materialized) of values
and to describe the actions that would be taken for this state.
|
| WordVerification |
Provides a capability to verify that types represent or do not represent
raw words (as opposed to Objects).
|
| Class | Description |
|---|---|
| CoreProvidersDelegate | |
| CoreProvidersImpl | |
| DelegatingReplacements |
A convenience class for overriding just a portion of the Replacements API.
|
| ResolvedJavaMethodProfileProvider |
A
ProfileProvider that requests the information directly from the
ResolvedJavaMethod. |
| SnippetParameterInfo |
Metadata required for processing of snippets.
|
| StableProfileProvider |
A
ProfileProvider that caches the answer to all queries so that each query returns the
same answer for the entire compilation. |
| StableProfileProvider.CachingProfilingInfo |
Lazy cache of the per method profile queries.
|
| SwitchFoldable.Helper | |
| SwitchFoldable.KeyData | |
| SwitchFoldable.QuickQueryKeyData | |
| SwitchFoldable.QuickQueryList<T> |
Supports O(1) addition to the list, fast
contains and indexOf queries
(usually O(1), worst case O(n)), and O(1) random access. |
| Enum | Description |
|---|---|
| ArrayLengthProvider.FindLengthMode |
The different modes that determine what the results of
GraphUtil.arrayLength(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.ArrayLengthProvider.FindLengthMode, ConstantReflectionProvider) and
ArrayLengthProvider.findLength(org.graalvm.compiler.nodes.spi.ArrayLengthProvider.FindLengthMode, ConstantReflectionProvider) can be used for. |
| LoweringTool.StandardLoweringStage |
The lowering stages used in a standard Graal phase plan.
|