final class org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation extends org.graalvm.compiler.nodes.graphbuilderconf.GeneratedInvocationPlugin
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation
super_class: org.graalvm.compiler.nodes.graphbuilderconf.GeneratedInvocationPlugin
{
private final org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection;
descriptor: Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public boolean execute(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 // org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation this
start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver receiver
start local 4 // org.graalvm.compiler.nodes.ValueNode[] args
0: .line 32
aload 4 /* args */
iconst_0
aaload
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 3
1: .line 33
aload 0 /* this */
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
ldc Ljdk/vm/ci/meta/JavaKind;
aload 4 /* args */
iconst_0
aaload
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
checkcast jdk.vm.ci.meta.JavaKind
astore 5 /* arg0 */
start local 5 // jdk.vm.ci.meta.JavaKind arg0
2: .line 34
goto 4
end local 5 // jdk.vm.ci.meta.JavaKind arg0
3: .line 35
StackMap locals:
StackMap stack:
iconst_0
ireturn
start local 5 // jdk.vm.ci.meta.JavaKind arg0
4: .line 37
StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 5 /* arg0 */
invokestatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/word/LocationIdentity;
astore 6 /* result */
start local 6 // org.graalvm.word.LocationIdentity result
5: .line 38
aload 0 /* this */
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 6 /* result */
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
astore 7 /* constant */
start local 7 // jdk.vm.ci.meta.JavaConstant constant
6: .line 39
aload 7 /* constant */
aload 1 /* b */
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1 /* b */
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 8 /* node */
start local 8 // org.graalvm.compiler.nodes.ConstantNode node
7: .line 40
aload 1 /* b */
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
aload 8 /* node */
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
8: .line 41
aload 1 /* b */
aload 2 /* targetMethod */
aload 8 /* node */
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.notifyReplacedCall:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/ConstantNode;)V
9: .line 42
iconst_1
ireturn
end local 8 // org.graalvm.compiler.nodes.ConstantNode node
end local 7 // jdk.vm.ci.meta.JavaConstant constant
end local 6 // org.graalvm.word.LocationIdentity result
end local 5 // jdk.vm.ci.meta.JavaKind arg0
end local 4 // org.graalvm.compiler.nodes.ValueNode[] args
end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver receiver
end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
end local 0 // org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/hotspot/replacements/arraycopy/PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation;
0 10 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 10 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 10 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 10 4 args [Lorg/graalvm/compiler/nodes/ValueNode;
2 3 5 arg0 Ljdk/vm/ci/meta/JavaKind;
4 10 5 arg0 Ljdk/vm/ci/meta/JavaKind;
5 10 6 result Lorg/graalvm/word/LocationIdentity;
6 10 7 constant Ljdk/vm/ci/meta/JavaConstant;
7 10 8 node Lorg/graalvm/compiler/nodes/ConstantNode;
MethodParameters:
Name Flags
b
targetMethod
receiver
args
private void <init>(org.graalvm.compiler.nodes.graphbuilderconf.NodeIntrinsicPluginFactory$InjectionProvider);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/NodeIntrinsicPluginFactory$InjectionProvider;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 // org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation this
start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.NodeIntrinsicPluginFactory$InjectionProvider injection
0: .line 47
aload 0 /* this */
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.GeneratedInvocationPlugin.<init>:()V
1: .line 48
aload 0 /* this */
aload 1 /* injection */
ldc Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.NodeIntrinsicPluginFactory$InjectionProvider.getInjectedArgument:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.api.replacements.SnippetReflectionProvider
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
2: .line 49
return
end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.NodeIntrinsicPluginFactory$InjectionProvider injection
end local 0 // org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/replacements/arraycopy/PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation;
0 3 1 injection Lorg/graalvm/compiler/nodes/graphbuilderconf/NodeIntrinsicPluginFactory$InjectionProvider;
MethodParameters:
Name Flags
injection
}
SourceFile: "PluginFactory_ArrayCopySnippets.java"
NestHost: org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets
InnerClasses:
private final ArrayCopySnippets_getArrayLocation = org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets$ArrayCopySnippets_getArrayLocation of org.graalvm.compiler.hotspot.replacements.arraycopy.PluginFactory_ArrayCopySnippets
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
public abstract InjectionProvider = org.graalvm.compiler.nodes.graphbuilderconf.NodeIntrinsicPluginFactory$InjectionProvider of org.graalvm.compiler.nodes.graphbuilderconf.NodeIntrinsicPluginFactory