class org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$46 implements org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$46
super_class: java.lang.Object
{
private final org.graalvm.compiler.api.replacements.SnippetReflectionProvider val$snippetReflection;
descriptor: Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.api.replacements.SnippetReflectionProvider);
descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$46.val$snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/StandardGraphBuilderPlugins$46;
MethodParameters:
Name Flags
val$snippetReflection final
public boolean apply(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode, 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;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 3
1: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
aload 4
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 24
4: aload 4
astore 6
start local 6 5: aload 0
getfield org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$46.val$snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
ldc [I
aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
checkcast jdk.vm.ci.meta.JavaConstant
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
checkcast int[]
astore 7
start local 7 6: aload 7
ifnull 22
aload 7
arraylength
iconst_2
if_icmpne 22
7: aload 7
iconst_0
iaload
istore 8
start local 8 8: aload 7
iconst_1
iaload
istore 9
start local 9 9: iload 9
iload 8
iadd
istore 10
start local 10 10: iload 10
ifne 13
11: aload 1
new org.graalvm.compiler.nodes.DeoptimizeNode
dup
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
getstatic jdk.vm.ci.meta.DeoptimizationReason.TransferToInterpreter:Ljdk/vm/ci/meta/DeoptimizationReason;
invokespecial org.graalvm.compiler.nodes.DeoptimizeNode.<init>:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
12: goto 22
StackMap locals: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$46 org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int[] int int int
StackMap stack:
13: iload 8
ifeq 14
iload 9
ifne 22
14: StackMap locals:
StackMap stack:
iload 8
ifne 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 11
start local 11 17: aload 1
aload 4
aload 1
iload 11
ifeq 18
iconst_0
goto 19
StackMap locals: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$46 org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int[] int int int int
StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext
18: iconst_1
StackMap locals: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$46 org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int[] int int int int
StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext int
19: invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(Z)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aconst_null
invokestatic org.graalvm.compiler.nodes.calc.IntegerEqualsNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/LogicNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 12
start local 12 20: aload 1
new org.graalvm.compiler.nodes.FixedGuardNode
dup
aload 12
getstatic jdk.vm.ci.meta.DeoptimizationReason.UnreachedCode:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
iconst_1
invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
21: aload 1
iload 11
invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(Z)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
end local 12 end local 11 end local 10 end local 9 end local 8 22: StackMap locals: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$46 org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int[]
StackMap stack:
aload 1
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
aload 6
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
23: iconst_1
ireturn
end local 7 end local 6 24: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/graalvm/compiler/replacements/StandardGraphBuilderPlugins$46;
0 25 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 25 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 25 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 25 4 result Lorg/graalvm/compiler/nodes/ValueNode;
0 25 5 counters Lorg/graalvm/compiler/nodes/ValueNode;
5 24 6 newResult Lorg/graalvm/compiler/nodes/ValueNode;
6 24 7 ctrs [I
8 22 8 falseCount I
9 22 9 trueCount I
10 22 10 totalCount I
17 22 11 expected Z
20 22 12 condition Lorg/graalvm/compiler/nodes/LogicNode;
MethodParameters:
Name Flags
b
targetMethod
receiver
result
counters
}
SourceFile: "StandardGraphBuilderPlugins.java"
EnclosingMethod: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins.registerMethodHandleImplPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
NestHost: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins
InnerClasses:
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$46