class org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest$1 implements org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest$1
super_class: java.lang.Object
{
final org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest this$0;
descriptor: Lorg/graalvm/compiler/nodes/test/ShortCircuitOrNodeTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest);
descriptor: (Lorg/graalvm/compiler/nodes/test/ShortCircuitOrNodeTest;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest$1 this
0: .line 63
aload 0 /* this */
aload 1
putfield org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest$1.this$0:Lorg/graalvm/compiler/nodes/test/ShortCircuitOrNodeTest;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/test/ShortCircuitOrNodeTest$1;
MethodParameters:
Name Flags
this$0 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=9, locals=9, args_size=6
start local 0 // org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest$1 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 b1
start local 5 // org.graalvm.compiler.nodes.ValueNode b2
0: .line 66
aload 1 /* b */
new org.graalvm.compiler.nodes.calc.IntegerEqualsNode
dup
aload 4 /* b1 */
aload 1 /* b */
iconst_1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.calc.IntegerEqualsNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
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 6 /* x */
start local 6 // org.graalvm.compiler.nodes.LogicNode x
1: .line 67
aload 1 /* b */
new org.graalvm.compiler.nodes.calc.IntegerEqualsNode
dup
aload 5 /* b2 */
aload 1 /* b */
iconst_1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.calc.IntegerEqualsNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
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 7 /* y */
start local 7 // org.graalvm.compiler.nodes.LogicNode y
2: .line 68
aload 1 /* b */
new org.graalvm.compiler.nodes.ShortCircuitOrNode
dup
aload 6 /* x */
iconst_0
aload 7 /* y */
iconst_0
ldc 0.5
invokespecial org.graalvm.compiler.nodes.ShortCircuitOrNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/LogicNode;ZD)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.ShortCircuitOrNode
astore 8 /* compare */
start local 8 // org.graalvm.compiler.nodes.ShortCircuitOrNode compare
3: .line 69
aload 1 /* b */
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
new org.graalvm.compiler.nodes.calc.ConditionalNode
dup
aload 8 /* compare */
aload 1 /* b */
iconst_1
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;
aload 1 /* b */
iconst_0
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;
invokespecial org.graalvm.compiler.nodes.calc.ConditionalNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.addPush:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
4: .line 70
iconst_1
ireturn
end local 8 // org.graalvm.compiler.nodes.ShortCircuitOrNode compare
end local 7 // org.graalvm.compiler.nodes.LogicNode y
end local 6 // org.graalvm.compiler.nodes.LogicNode x
end local 5 // org.graalvm.compiler.nodes.ValueNode b2
end local 4 // org.graalvm.compiler.nodes.ValueNode b1
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.nodes.test.ShortCircuitOrNodeTest$1 this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/nodes/test/ShortCircuitOrNodeTest$1;
0 5 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 5 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 5 4 b1 Lorg/graalvm/compiler/nodes/ValueNode;
0 5 5 b2 Lorg/graalvm/compiler/nodes/ValueNode;
1 5 6 x Lorg/graalvm/compiler/nodes/LogicNode;
2 5 7 y Lorg/graalvm/compiler/nodes/LogicNode;
3 5 8 compare Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
MethodParameters:
Name Flags
b
targetMethod
receiver
b1
b2
}
SourceFile: "ShortCircuitOrNodeTest.java"
EnclosingMethod: org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest.registerInvocationPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
NestHost: org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest
InnerClasses:
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
org.graalvm.compiler.nodes.test.ShortCircuitOrNodeTest$1