class org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$51 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$51
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$51.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$51;
MethodParameters:
Name Flags
val$snippetReflection final
public boolean inlineOnly();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/StandardGraphBuilderPlugins$51;
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=13, 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 28
4: aload 4
astore 6
start local 6 5: aload 0
getfield org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$51.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 26
aload 7
arraylength
iconst_2
if_icmpne 26
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 26
StackMap locals: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$51 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 26
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
18: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
aconst_null
aload 4
aload 1
iload 11
ifeq 19
iconst_0
goto 20
StackMap locals: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$51 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 jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.options.OptionValues null org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext
19: iconst_1
StackMap locals: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$51 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 jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.options.OptionValues null org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext int
20: 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;
21: getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
22: invokestatic org.graalvm.compiler.nodes.calc.IntegerEqualsNode.create:(Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Integer;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
23: 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 24: 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
25: 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 26: StackMap locals: org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$51 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
27: iconst_1
ireturn
end local 7 end local 6 28: StackMap locals:
StackMap stack:
aload 1
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
29: new org.graalvm.compiler.replacements.nodes.ProfileBooleanNode
dup
aload 0
getfield org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$51.val$snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
aload 2
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.bci:()I
aload 1
aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getInvokeReturnStamp:(Ljdk/vm/ci/meta/Assumptions;)Lorg/graalvm/compiler/core/common/type/StampPair;
iconst_2
anewarray org.graalvm.compiler.nodes.ValueNode
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 5
aastore
invokespecial org.graalvm.compiler.replacements.nodes.ProfileBooleanNode.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)V
30: invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
31: iconst_1
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 32 0 this Lorg/graalvm/compiler/replacements/StandardGraphBuilderPlugins$51;
0 32 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 32 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 32 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 32 4 result Lorg/graalvm/compiler/nodes/ValueNode;
0 32 5 counters Lorg/graalvm/compiler/nodes/ValueNode;
5 28 6 newResult Lorg/graalvm/compiler/nodes/ValueNode;
6 28 7 ctrs [I
8 26 8 falseCount I
9 26 9 trueCount I
10 26 10 totalCount I
17 26 11 expected Z
24 26 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 final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
org.graalvm.compiler.replacements.StandardGraphBuilderPlugins$51