final class org.graalvm.compiler.hotspot.replacements.PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale 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.PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale
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.PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale 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 108
aload 4 /* args */
iconst_0
aaload
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 3
1: .line 109
aload 0 /* this */
getfield org.graalvm.compiler.hotspot.replacements.PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale.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 110
goto 4
end local 5 // jdk.vm.ci.meta.JavaKind arg0
3: .line 111
StackMap locals:
StackMap stack:
iconst_0
ireturn
start local 5 // jdk.vm.ci.meta.JavaKind arg0
4: .line 113
StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 5 /* arg0 */
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.arrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
istore 6 /* result */
start local 6 // int result
5: .line 114
iload 6 /* result */
invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
astore 7 /* constant */
start local 7 // jdk.vm.ci.meta.JavaConstant constant
6: .line 115
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 116
aload 1 /* b */
getstatic jdk.vm.ci.meta.JavaKind.Int: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 117
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 118
iconst_1
ireturn
end local 8 // org.graalvm.compiler.nodes.ConstantNode node
end local 7 // jdk.vm.ci.meta.JavaConstant constant
end local 6 // int 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.PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/hotspot/replacements/PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale;
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 I
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.PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale this
start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.NodeIntrinsicPluginFactory$InjectionProvider injection
0: .line 123
aload 0 /* this */
invokespecial org.graalvm.compiler.nodes.graphbuilderconf.GeneratedInvocationPlugin.<init>:()V
1: .line 124
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.PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
2: .line 125
return
end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.NodeIntrinsicPluginFactory$InjectionProvider injection
end local 0 // org.graalvm.compiler.hotspot.replacements.PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/replacements/PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale;
0 3 1 injection Lorg/graalvm/compiler/nodes/graphbuilderconf/NodeIntrinsicPluginFactory$InjectionProvider;
MethodParameters:
Name Flags
injection
}
SourceFile: "PluginFactory_HotSpotReplacementsUtil.java"
NestHost: org.graalvm.compiler.hotspot.replacements.PluginFactory_HotSpotReplacementsUtil
InnerClasses:
private final HotSpotReplacementsUtil_arrayIndexScale = org.graalvm.compiler.hotspot.replacements.PluginFactory_HotSpotReplacementsUtil$HotSpotReplacementsUtil_arrayIndexScale of org.graalvm.compiler.hotspot.replacements.PluginFactory_HotSpotReplacementsUtil
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