#SnippetCounters
are enabled make sure SnippetCounterNode.SNIPPET_COUNTER_LOCATION
is part
of the private locations.Arrays
methods.Array
methods.ParameterPlugin
that binds constant values to some parameters.ConstantNode
s for each parameter with an index
equal to that of a non-null object in constantArgs
(from which the
ConstantNode
is created if it isn't already a ConstantNode
).MethodHandle
.Word
operations.Node.NodeIntrinsic
annotated method.InvokeNode
for a call to a given method with a given set of
arguments.InvokeNode
for a call to a given method with a given set of
arguments.InvokeNode
for the given target method.usage replacer
logic which simply delegates to
Node.replaceAtUsages(Node)
.intrinsification
time.FrameState
from the replacee during
instantiation.UnsafeStoreNode
in that it is not a
StateSplit
and does not include a write barrier.UnsafeStoreNode
in that it is not a
StateSplit
and takes a computed address instead of an object.UnsafeStoreNode
in that it is not a
StateSplit
and takes a computed address instead of an object.JavaConstant
of the right kind.DefaultJavaLoweringProvider.implicitLoadConvert(com.oracle.graal.nodes.StructuredGraph, jdk.internal.jvmci.meta.Kind, com.oracle.graal.nodes.ValueNode)
and DefaultJavaLoweringProvider.createUnsafeRead(com.oracle.graal.nodes.StructuredGraph, com.oracle.graal.nodes.extended.UnsafeLoadNode, com.oracle.graal.nodes.extended.GuardingNode)
.MethodHandleAccessProvider.IntrinsicMethod.INVOKE_BASIC
method) to get the target InvokeNode
if the method handle receiver is constant.MethodHandleAccessProvider.IntrinsicMethod.LINK_TO_STATIC
,
MethodHandleAccessProvider.IntrinsicMethod.LINK_TO_SPECIAL
, MethodHandleAccessProvider.IntrinsicMethod.LINK_TO_VIRTUAL
, and
MethodHandleAccessProvider.IntrinsicMethod.LINK_TO_INTERFACE
methods) to get the target InvokeNode
if
the member name argument is constant.InvokeNode
for the targetMethod of a
java.lang.invoke.MemberName.InvocationPlugin
to a LoadFieldNode
.Word.Operation
by adding nodes to the
graph being built that implement the denoted operation.Snippet.ConstantParameter
.InstanceOfNode
s with snippets.InstanceOfNode
or InstanceOfDynamicNode
.InstanceOfNode
or InstanceOfDynamicNode
that does
materializes the result of the type test.InstanceOfNode
or InstanceOfDynamicNode
that does
not materialize the result of the type test.ArithmeticException
in
case the addition would overflow the 32 bit range.ArithmeticException
in case the addition would overflow the 32 bit range.ArithmeticException
in
case the addition would overflow the 32 bit range.GraphBuilderContext
used to produce a graph for a method based on an
InvocationPlugin
for the method.Kind
of the arrays to compare.Snippet.VarargsParameter
.PrintStream
-like logging facility.MethodHandle
.Node.NodeIntrinsic
s with nodes and calls to methods annotated with
Fold
with the result of invoking the annotated method via reflection.MacroNode
s for simple pure functions like
System.identityHashCode(Object)
.Edges
.oldNode
with direct or indirect usages of newNode
.MethodHandle
invocation target.StateSplit.stateAfter()
from the replacee during
instantiation.declaringClass
named methodName
annotated by
Snippet
and returns a SnippetTemplate.SnippetInfo
value describing it.LocationIdentity
of the SnippetCounter.value
field,
so that the usage in snippets is always possible.Snippet
s.Snippet.ConstantParameter
parameters.ResolvedJavaMethod
of the snippet, together with some information about the
method that needs to be computed only once.SnippetTemplate.SnippetInfo
.ValueNode.stamp()
from the replacee during instantiation.InvocationPlugin
s.String
methods.ReplacementsImpl.GraphMaker.method
is substituting.MethodHandle
method into an
invocation on another method with possibly transformed arguments.Graph.unique(T)
.Word
types.