public abstract class org.graalvm.compiler.nodes.calc.BinaryArithmeticNode<OP> extends org.graalvm.compiler.nodes.calc.BinaryNode implements org.graalvm.compiler.nodes.ArithmeticOperation, org.graalvm.compiler.nodes.spi.ArithmeticLIRLowerable, org.graalvm.compiler.graph.spi.Canonicalizable$Binary<org.graalvm.compiler.nodes.ValueNode>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
super_class: org.graalvm.compiler.nodes.calc.BinaryNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.calc.BinaryArithmeticNode> TYPE;
descriptor: Lorg/graalvm/compiler/graph/NodeClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.calc.BinaryArithmeticNode<OP>>, org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp<OP>, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
aload 4
invokespecial org.graalvm.compiler.nodes.calc.BinaryNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;
0 2 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;>;
0 2 2 opForStampComputation Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<TOP;>;
0 2 3 x Lorg/graalvm/compiler/nodes/ValueNode;
0 2 4 y Lorg/graalvm/compiler/nodes/ValueNode;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;>;Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<TOP;>;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
MethodParameters:
Name Flags
c
opForStampComputation
x
y
protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.calc.BinaryArithmeticNode<OP>>, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial org.graalvm.compiler.nodes.calc.BinaryNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;
0 2 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;>;
0 2 2 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 2 3 x Lorg/graalvm/compiler/nodes/ValueNode;
0 2 4 y Lorg/graalvm/compiler/nodes/ValueNode;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;>;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
MethodParameters:
Name Flags
c
stamp
x
y
public static org.graalvm.compiler.core.common.type.ArithmeticOpTable getArithmeticOpTable(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.ArithmeticOpTable.forStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 forValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
forValue
protected abstract org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp<OP> getOp(org.graalvm.compiler.core.common.type.ArithmeticOpTable);
descriptor: (Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<TOP;>;
MethodParameters:
Name Flags
table
protected final org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp<OP> getOp(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getArithmeticOpTable:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
astore 3
start local 3 1: getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.$assertionsDisabled:Z
ifne 2
aload 3
aload 2
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getArithmeticOpTable:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.equals:(Ljava/lang/Object;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.core.common.type.ArithmeticOpTable
StackMap stack:
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getOp:(Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;
0 3 1 forX Lorg/graalvm/compiler/nodes/ValueNode;
0 3 2 forY Lorg/graalvm/compiler/nodes/ValueNode;
1 3 3 table Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<TOP;>;
MethodParameters:
Name Flags
forX
forY
public final org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp<OP> getArithmeticOp();
descriptor: ()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getOp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;
Signature: ()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<TOP;>;
public boolean isAssociative();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getArithmeticOp:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.isAssociative:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;
public org.graalvm.compiler.nodes.ValueNode canonical(org.graalvm.compiler.graph.spi.CanonicalizerTool, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.graalvm.compiler.nodes.NodeView.from:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;)Lorg/graalvm/compiler/nodes/NodeView;
astore 4
start local 4 1: aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getOp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
aload 2
aload 3
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.tryConstantFold:(Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 5
start local 5 2: aload 5
ifnull 4
3: aload 5
areturn
4: StackMap locals: org.graalvm.compiler.nodes.NodeView org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.calc.ConditionalNode
ifeq 14
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 14
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.hasExactlyOneUsage:()Z
ifeq 14
5: aload 2
checkcast org.graalvm.compiler.nodes.calc.ConditionalNode
astore 6
start local 6 6: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getArithmeticOp:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
astore 7
start local 7 7: aload 7
aload 6
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.trueValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 3
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.tryConstantFold:(Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 8
start local 8 8: aload 8
ifnull 14
9: aload 7
aload 6
invokevirtual org.graalvm.compiler.nodes.calc.ConditionalNode.falseValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 3
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.tryConstantFold:(Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 9
start local 9 10: aload 9
ifnull 14
11: aload 6
getfield org.graalvm.compiler.nodes.calc.ConditionalNode.condition:Lorg/graalvm/compiler/nodes/LogicNode;
aload 8
12: aload 9
aload 4
13: invokestatic org.graalvm.compiler.nodes.calc.ConditionalNode.create:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 9 end local 8 end local 7 end local 6 14: StackMap locals:
StackMap stack:
aload 0
areturn
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 15 0 this Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;
0 15 1 tool Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
0 15 2 forX Lorg/graalvm/compiler/nodes/ValueNode;
0 15 3 forY Lorg/graalvm/compiler/nodes/ValueNode;
1 15 4 view Lorg/graalvm/compiler/nodes/NodeView;
2 15 5 result Lorg/graalvm/compiler/nodes/ValueNode;
6 14 6 conditionalNode Lorg/graalvm/compiler/nodes/calc/ConditionalNode;
7 14 7 arithmeticOp Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<TOP;>;
8 14 8 trueConstant Lorg/graalvm/compiler/nodes/ConstantNode;
10 14 9 falseConstant Lorg/graalvm/compiler/nodes/ConstantNode;
MethodParameters:
Name Flags
tool
forX
forY
public static <OP> org.graalvm.compiler.nodes.ConstantNode tryConstantFold(org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp<OP>, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ConstantNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 4
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 4
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.foldConstant:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/Constant;
astore 5
start local 5 2: aload 5
ifnull 4
3: aload 3
aload 5
invokestatic org.graalvm.compiler.nodes.ConstantNode.forPrimitive:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;)Lorg/graalvm/compiler/nodes/ConstantNode;
areturn
end local 5 4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 op Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<TOP;>;
0 5 1 forX Lorg/graalvm/compiler/nodes/ValueNode;
0 5 2 forY Lorg/graalvm/compiler/nodes/ValueNode;
0 5 3 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 5 4 view Lorg/graalvm/compiler/nodes/NodeView;
2 4 5 ret Ljdk/vm/ci/meta/Constant;
Signature: <OP:Ljava/lang/Object;>(Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<TOP;>;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ConstantNode;
MethodParameters:
Name Flags
op
forX
forY
stamp
view
public org.graalvm.compiler.core.common.type.Stamp foldStamp(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.$assertionsDisabled:Z
ifne 2
aload 1
aload 0
getfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.x:Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
ifeq 1
aload 2
aload 0
getfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.y:Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
ifne 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getArithmeticOp:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
aload 1
aload 2
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;
0 3 1 stampX Lorg/graalvm/compiler/core/common/type/Stamp;
0 3 2 stampY Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
stampX
stampY
public static org.graalvm.compiler.nodes.ValueNode add(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokestatic org.graalvm.compiler.nodes.calc.AddNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 1 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 2 v2 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 3 view Lorg/graalvm/compiler/nodes/NodeView;
MethodParameters:
Name Flags
graph
v1
v2
view
public static org.graalvm.compiler.nodes.ValueNode add(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.calc.AddNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 1 v2 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 2 view Lorg/graalvm/compiler/nodes/NodeView;
MethodParameters:
Name Flags
v1
v2
view
public static org.graalvm.compiler.nodes.ValueNode add(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.add:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 1 v2 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
v1
v2
public static org.graalvm.compiler.nodes.ValueNode mul(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokestatic org.graalvm.compiler.nodes.calc.MulNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 1 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 2 v2 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 3 view Lorg/graalvm/compiler/nodes/NodeView;
MethodParameters:
Name Flags
graph
v1
v2
view
public static org.graalvm.compiler.nodes.ValueNode mul(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.calc.MulNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 1 v2 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 2 view Lorg/graalvm/compiler/nodes/NodeView;
MethodParameters:
Name Flags
v1
v2
view
public static org.graalvm.compiler.nodes.ValueNode mul(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.mul:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 1 v2 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
v1
v2
public static org.graalvm.compiler.nodes.ValueNode sub(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokestatic org.graalvm.compiler.nodes.calc.SubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 1 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 2 v2 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 3 view Lorg/graalvm/compiler/nodes/NodeView;
MethodParameters:
Name Flags
graph
v1
v2
view
public static org.graalvm.compiler.nodes.ValueNode sub(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.calc.SubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 1 v2 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 2 view Lorg/graalvm/compiler/nodes/NodeView;
MethodParameters:
Name Flags
v1
v2
view
public static org.graalvm.compiler.nodes.ValueNode sub(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.sub:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 1 1 v2 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
v1
v2
public static org.graalvm.compiler.nodes.ValueNode branchlessMin(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.isDefaultConstant:()Z
ifeq 2
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.isDefaultConstant:()Z
ifne 2
1: aload 1
aload 0
aload 2
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.branchlessMin:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
istore 3
start local 3 3: getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.$assertionsDisabled:Z
ifne 4
aload 1
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
iload 3
if_icmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.sub:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 5: aload 4
iload 3
iconst_1
isub
aload 2
invokestatic org.graalvm.compiler.nodes.calc.RightShiftNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;ILorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 6: aload 4
aload 5
aload 2
invokestatic org.graalvm.compiler.nodes.calc.AndNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 7: aload 1
aload 6
aload 2
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.add:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 6 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 8 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 8 1 v2 Lorg/graalvm/compiler/nodes/ValueNode;
0 8 2 view Lorg/graalvm/compiler/nodes/NodeView;
3 8 3 bits I
5 8 4 t1 Lorg/graalvm/compiler/nodes/ValueNode;
6 8 5 t2 Lorg/graalvm/compiler/nodes/ValueNode;
7 8 6 t3 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
v1
v2
view
public static org.graalvm.compiler.nodes.ValueNode branchlessMax(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.isDefaultConstant:()Z
ifeq 2
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.isDefaultConstant:()Z
ifne 2
1: aload 1
aload 0
aload 2
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.branchlessMax:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
istore 3
start local 3 3: getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.$assertionsDisabled:Z
ifne 4
aload 1
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
iload 3
if_icmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: int
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.isDefaultConstant:()Z
ifeq 6
5: aload 0
aload 0
iload 3
iconst_1
isub
aload 2
invokestatic org.graalvm.compiler.nodes.calc.RightShiftNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;ILorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.calc.NotNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
invokestatic org.graalvm.compiler.nodes.calc.AndNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.sub:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 7: aload 4
iload 3
iconst_1
isub
aload 2
invokestatic org.graalvm.compiler.nodes.calc.RightShiftNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;ILorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 8: aload 4
aload 5
aload 2
invokestatic org.graalvm.compiler.nodes.calc.AndNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 9: aload 0
aload 6
aload 2
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.sub:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 6 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 10 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 10 1 v2 Lorg/graalvm/compiler/nodes/ValueNode;
0 10 2 view Lorg/graalvm/compiler/nodes/NodeView;
3 10 3 bits I
7 10 4 t1 Lorg/graalvm/compiler/nodes/ValueNode;
8 10 5 t2 Lorg/graalvm/compiler/nodes/ValueNode;
9 10 6 t3 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
v1
v2
view
private static org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch findReassociate(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.graph.iterators.NodePredicate);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodePredicate.apply:(Lorg/graalvm/compiler/graph/Node;)Z
istore 2
start local 2 1: aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodePredicate.apply:(Lorg/graalvm/compiler/graph/Node;)Z
istore 3
start local 3 2: iload 2
ifeq 4
iload 3
ifne 4
3: getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.x:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
areturn
4: StackMap locals: int int
StackMap stack:
iload 2
ifne 6
iload 3
ifeq 6
5: getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.y:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
areturn
6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 binary Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 7 1 criterion Lorg/graalvm/compiler/graph/iterators/NodePredicate;
1 7 2 resultX Z
2 7 3 resultY Z
Signature: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
MethodParameters:
Name Flags
binary
criterion
public static org.graalvm.compiler.nodes.ValueNode reassociate(org.graalvm.compiler.nodes.calc.BinaryArithmeticNode<?>, org.graalvm.compiler.graph.iterators.NodePredicate, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.NodeView);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=19, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.$assertionsDisabled:Z
ifne 1
aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getOp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.isAssociative:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.findReassociate:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
astore 5
start local 5 2: aload 5
ifnonnull 4
3: aload 0
areturn
4: StackMap locals: org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch
StackMap stack:
aload 5
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.getOtherValue:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: iconst_0
istore 8
start local 8 7: aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 15
8: aload 0
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 11
aload 6
instanceof org.graalvm.compiler.nodes.calc.SubNode
ifeq 11
9: iconst_1
istore 7
10: goto 15
StackMap locals: org.graalvm.compiler.nodes.ValueNode int int
StackMap stack:
11: aload 0
instanceof org.graalvm.compiler.nodes.calc.SubNode
ifeq 14
aload 6
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 14
12: iconst_1
istore 8
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
areturn
15: StackMap locals:
StackMap stack:
aload 6
checkcast org.graalvm.compiler.nodes.calc.BinaryNode
astore 9
start local 9 16: aload 9
aload 1
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.findReassociate:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
astore 10
start local 10 17: aload 10
ifnonnull 19
18: aload 0
areturn
19: StackMap locals: org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch
StackMap stack:
iconst_0
istore 11
start local 11 20: iconst_0
istore 12
start local 12 21: iconst_0
istore 13
start local 13 22: iconst_0
istore 14
start local 14 23: iload 7
ifeq 31
24: aload 10
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.y:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 25
iconst_1
goto 26
StackMap locals: org.graalvm.compiler.nodes.calc.BinaryArithmeticNode org.graalvm.compiler.graph.iterators.NodePredicate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.NodeView org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch org.graalvm.compiler.nodes.ValueNode int int org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch int int int int
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: istore 14
27: iload 14
ifeq 28
iconst_0
goto 29
StackMap locals:
StackMap stack:
28: iconst_1
StackMap locals:
StackMap stack: int
29: istore 11
30: goto 54
StackMap locals:
StackMap stack:
31: iload 8
ifeq 39
32: aload 5
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.x:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 33
iconst_1
goto 34
StackMap locals:
StackMap stack:
33: iconst_0
StackMap locals:
StackMap stack: int
34: dup
istore 14
istore 11
35: iload 14
ifeq 36
iconst_0
goto 37
StackMap locals:
StackMap stack:
36: iconst_1
StackMap locals:
StackMap stack: int
37: istore 13
38: goto 54
StackMap locals:
StackMap stack:
39: aload 0
instanceof org.graalvm.compiler.nodes.calc.SubNode
ifeq 54
aload 9
instanceof org.graalvm.compiler.nodes.calc.SubNode
ifeq 54
40: aload 5
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.x:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 41
iconst_1
goto 42
StackMap locals:
StackMap stack:
41: iconst_0
StackMap locals:
StackMap stack: int
42: aload 10
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.x:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 43
iconst_1
goto 44
StackMap locals:
StackMap stack: int
43: iconst_0
StackMap locals: org.graalvm.compiler.nodes.calc.BinaryArithmeticNode org.graalvm.compiler.graph.iterators.NodePredicate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.NodeView org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch org.graalvm.compiler.nodes.ValueNode int int org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch int int int int
StackMap stack: int int
44: ixor
istore 11
45: aload 5
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.y:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 46
aload 10
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.y:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 46
iconst_1
goto 47
StackMap locals:
StackMap stack:
46: iconst_0
StackMap locals:
StackMap stack: int
47: istore 12
48: aload 5
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.y:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 49
aload 10
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.x:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 49
iconst_1
goto 50
StackMap locals:
StackMap stack:
49: iconst_0
StackMap locals:
StackMap stack: int
50: istore 13
51: aload 5
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.x:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 52
aload 10
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.x:Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
if_acmpne 52
iconst_1
goto 53
StackMap locals:
StackMap stack:
52: iconst_0
StackMap locals:
StackMap stack: int
53: istore 14
54: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.$assertionsDisabled:Z
ifne 57
iload 13
ifeq 55
iload 14
ifne 56
StackMap locals:
StackMap stack:
55: iload 11
ifeq 57
iload 12
ifeq 57
StackMap locals:
StackMap stack:
56: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
57: StackMap locals:
StackMap stack:
aload 5
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.getValue:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 15
start local 15 58: aload 10
aload 9
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.getValue:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 16
start local 16 59: aload 10
aload 9
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch.getOtherValue:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 17
start local 17 60: aload 0
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifne 61
aload 0
instanceof org.graalvm.compiler.nodes.calc.SubNode
ifeq 73
61: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
iload 13
ifeq 64
62: aload 16
aload 15
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.sub:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 18
start local 18 63: goto 68
end local 18 StackMap locals:
StackMap stack:
64: iload 14
ifeq 67
65: aload 15
aload 16
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.sub:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 18
start local 18 66: goto 68
end local 18 67: StackMap locals:
StackMap stack:
aload 15
aload 16
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.add:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 18
start local 18 68: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
iload 11
ifeq 70
69: aload 18
aload 17
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.sub:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
70: StackMap locals:
StackMap stack:
iload 12
ifeq 72
71: aload 17
aload 18
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.sub:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
72: StackMap locals:
StackMap stack:
aload 17
aload 18
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.add:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 18 73: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.calc.MulNode
ifeq 75
74: aload 17
aload 15
aload 16
aload 4
invokestatic org.graalvm.compiler.nodes.calc.AddNode.mul:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 4
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.mul:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
75: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.calc.AndNode
ifeq 77
76: new org.graalvm.compiler.nodes.calc.AndNode
dup
aload 17
new org.graalvm.compiler.nodes.calc.AndNode
dup
aload 15
aload 16
invokespecial org.graalvm.compiler.nodes.calc.AndNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokespecial org.graalvm.compiler.nodes.calc.AndNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
areturn
77: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.calc.OrNode
ifeq 79
78: new org.graalvm.compiler.nodes.calc.OrNode
dup
aload 17
new org.graalvm.compiler.nodes.calc.OrNode
dup
aload 15
aload 16
invokespecial org.graalvm.compiler.nodes.calc.OrNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokespecial org.graalvm.compiler.nodes.calc.OrNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
areturn
79: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.calc.XorNode
ifeq 81
80: new org.graalvm.compiler.nodes.calc.XorNode
dup
aload 17
new org.graalvm.compiler.nodes.calc.XorNode
dup
aload 15
aload 16
invokespecial org.graalvm.compiler.nodes.calc.XorNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokespecial org.graalvm.compiler.nodes.calc.XorNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
areturn
81: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 82 0 node Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
0 82 1 criterion Lorg/graalvm/compiler/graph/iterators/NodePredicate;
0 82 2 forX Lorg/graalvm/compiler/nodes/ValueNode;
0 82 3 forY Lorg/graalvm/compiler/nodes/ValueNode;
0 82 4 view Lorg/graalvm/compiler/nodes/NodeView;
2 82 5 match1 Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
5 82 6 otherValue Lorg/graalvm/compiler/nodes/ValueNode;
6 82 7 addSub Z
7 82 8 subAdd Z
16 82 9 other Lorg/graalvm/compiler/nodes/calc/BinaryNode;
17 82 10 match2 Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode$ReassociateMatch;
20 82 11 invertA Z
21 82 12 aSub Z
22 82 13 invertM1 Z
23 82 14 invertM2 Z
58 82 15 m1 Lorg/graalvm/compiler/nodes/ValueNode;
59 82 16 m2 Lorg/graalvm/compiler/nodes/ValueNode;
60 82 17 a Lorg/graalvm/compiler/nodes/ValueNode;
63 64 18 associated Lorg/graalvm/compiler/nodes/ValueNode;
66 67 18 associated Lorg/graalvm/compiler/nodes/ValueNode;
68 73 18 associated Lorg/graalvm/compiler/nodes/ValueNode;
Signature: (Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;Lorg/graalvm/compiler/graph/iterators/NodePredicate;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
node
criterion
forX
forY
view
public org.graalvm.compiler.nodes.calc.BinaryNode maybeCommuteInputs();
descriptor: ()Lorg/graalvm/compiler/nodes/calc/BinaryNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.$assertionsDisabled:Z
ifne 1
aload 0
instanceof org.graalvm.compiler.graph.spi.Canonicalizable$BinaryCommutative
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.y:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 9
aload 0
getfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.x:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 2
aload 0
getfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.x:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.getId:()I
aload 0
getfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.y:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.getId:()I
if_icmple 9
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.x:Lorg/graalvm/compiler/nodes/ValueNode;
astore 1
start local 1 3: aload 0
aload 0
getfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.y:Lorg/graalvm/compiler/nodes/ValueNode;
putfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.x:Lorg/graalvm/compiler/nodes/ValueNode;
4: aload 0
aload 1
putfield org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.y:Lorg/graalvm/compiler/nodes/ValueNode;
5: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ifnull 9
6: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.findDuplicate:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.calc.BinaryNode
astore 2
start local 2 7: aload 2
ifnull 9
8: aload 2
areturn
end local 2 end local 1 9: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;
3 9 1 tmp Lorg/graalvm/compiler/nodes/ValueNode;
7 9 2 duplicate Lorg/graalvm/compiler/nodes/calc/BinaryNode;
protected boolean shouldSwapInputs(org.graalvm.compiler.nodes.spi.NodeValueMap);
descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeValueMap;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.hasUsagesOtherThan:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/NodeValueMap;)Z
istore 2
start local 2 1: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.hasUsagesOtherThan:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/NodeValueMap;)Z
istore 3
start local 3 2: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 7
iload 3
ifne 7
3: iload 2
iload 3
if_icmpne 6
4: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
instanceof org.graalvm.compiler.nodes.ValuePhiNode
ifeq 5
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 0
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 5
iconst_1
ireturn
StackMap locals: int int
StackMap stack:
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<TOP;>;
0 8 1 nodeValueMap Lorg/graalvm/compiler/nodes/spi/NodeValueMap;
1 8 2 xHasOtherUsages Z
2 8 3 yHasOtherUsages Z
MethodParameters:
Name Flags
nodeValueMap
public org.graalvm.compiler.core.common.type.ArithmeticOpTable$Op getArithmeticOp();
descriptor: ()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$Op;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getArithmeticOp:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.graalvm.compiler.graph.Node canonical(org.graalvm.compiler.graph.spi.CanonicalizerTool, org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.nodes.ValueNode
aload 3
checkcast org.graalvm.compiler.nodes.ValueNode
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.canonical:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <OP:Ljava/lang/Object;>Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ArithmeticOperation;Lorg/graalvm/compiler/nodes/spi/ArithmeticLIRLowerable;Lorg/graalvm/compiler/graph/spi/Canonicalizable$Binary<Lorg/graalvm/compiler/nodes/ValueNode;>;
SourceFile: "BinaryArithmeticNode.java"
NestMembers:
org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch
InnerClasses:
public abstract BinaryOp = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp of org.graalvm.compiler.core.common.type.ArithmeticOpTable
public abstract Op = org.graalvm.compiler.core.common.type.ArithmeticOpTable$Op of org.graalvm.compiler.core.common.type.ArithmeticOpTable
public abstract Binary = org.graalvm.compiler.graph.spi.Canonicalizable$Binary of org.graalvm.compiler.graph.spi.Canonicalizable
public abstract BinaryCommutative = org.graalvm.compiler.graph.spi.Canonicalizable$BinaryCommutative of org.graalvm.compiler.graph.spi.Canonicalizable
private final ReassociateMatch = org.graalvm.compiler.nodes.calc.BinaryArithmeticNode$ReassociateMatch of org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo(cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_1:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_1:Lorg/graalvm/compiler/nodeinfo/NodeSize;)