public class org.graalvm.compiler.loop.MathUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.loop.MathUtil
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: 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/loop/MathUtil;
private static boolean isConstantOne(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 1
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;
instanceof org.graalvm.compiler.core.common.type.IntegerStamp
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lconst_1
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
v1
private static boolean isConstantZero(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 1
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;
instanceof org.graalvm.compiler.core.common.type.IntegerStamp
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lconst_0
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 v1 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
v1
public static org.graalvm.compiler.nodes.ValueNode add(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.graalvm.compiler.loop.MathUtil.isConstantZero:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokestatic org.graalvm.compiler.loop.MathUtil.isConstantZero:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.add:(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;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 5 1 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 5 2 v2 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
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);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.graalvm.compiler.loop.MathUtil.isConstantOne:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokestatic org.graalvm.compiler.loop.MathUtil.isConstantOne:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.mul:(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;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 5 1 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 5 2 v2 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
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);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.graalvm.compiler.loop.MathUtil.isConstantZero:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.sub:(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;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 3 1 v1 Lorg/graalvm/compiler/nodes/ValueNode;
0 3 2 v2 Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
v1
v2
public static org.graalvm.compiler.nodes.ValueNode divBefore(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.extended.GuardingNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
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
invokedynamic apply(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
org/graalvm/compiler/loop/MathUtil.lambda$0(Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode; (6)
(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.loop.MathUtil.fixedDivBefore:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/function/BiFunction;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 4 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 before Lorg/graalvm/compiler/nodes/FixedNode;
0 1 2 dividend Lorg/graalvm/compiler/nodes/ValueNode;
0 1 3 divisor Lorg/graalvm/compiler/nodes/ValueNode;
0 1 4 zeroCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
MethodParameters:
Name Flags
graph
before
dividend
divisor
zeroCheck
public static org.graalvm.compiler.nodes.ValueNode unsignedDivBefore(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.extended.GuardingNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
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
invokedynamic apply(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
org/graalvm/compiler/loop/MathUtil.lambda$1(Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode; (6)
(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.loop.MathUtil.fixedDivBefore:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/function/BiFunction;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 4 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 before Lorg/graalvm/compiler/nodes/FixedNode;
0 1 2 dividend Lorg/graalvm/compiler/nodes/ValueNode;
0 1 3 divisor Lorg/graalvm/compiler/nodes/ValueNode;
0 1 4 zeroCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
MethodParameters:
Name Flags
graph
before
dividend
divisor
zeroCheck
private static org.graalvm.compiler.nodes.ValueNode fixedDivBefore(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, java.util.function.BiFunction<org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode>);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/function/BiFunction;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokestatic org.graalvm.compiler.loop.MathUtil.isConstantOne:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 2
aload 3
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.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
astore 5
start local 5 3: aload 5
instanceof org.graalvm.compiler.nodes.calc.FixedBinaryNode
ifeq 11
4: aload 5
checkcast org.graalvm.compiler.nodes.calc.FixedBinaryNode
astore 6
start local 6 5: aload 1
invokevirtual org.graalvm.compiler.nodes.FixedNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
instanceof org.graalvm.compiler.nodes.calc.FixedBinaryNode
ifeq 10
6: aload 1
invokevirtual org.graalvm.compiler.nodes.FixedNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.calc.FixedBinaryNode
astore 7
start local 7 7: aload 6
aload 7
invokevirtual org.graalvm.compiler.nodes.calc.FixedBinaryNode.dataFlowEquals:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 10
8: aload 6
invokevirtual org.graalvm.compiler.nodes.calc.FixedBinaryNode.safeDelete:()V
9: aload 7
areturn
end local 7 10: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.calc.FixedBinaryNode
StackMap stack:
aload 0
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 6 11: StackMap locals:
StackMap stack:
aload 5
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 12 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 12 1 before Lorg/graalvm/compiler/nodes/FixedNode;
0 12 2 dividend Lorg/graalvm/compiler/nodes/ValueNode;
0 12 3 divisor Lorg/graalvm/compiler/nodes/ValueNode;
0 12 4 createDiv Ljava/util/function/BiFunction<Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;>;
3 12 5 div Lorg/graalvm/compiler/nodes/ValueNode;
5 11 6 fixedDiv Lorg/graalvm/compiler/nodes/calc/FixedBinaryNode;
7 10 7 binaryPredecessor Lorg/graalvm/compiler/nodes/calc/FixedBinaryNode;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/function/BiFunction<Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;>;)Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
before
dividend
divisor
createDiv
private static org.graalvm.compiler.nodes.ValueNode lambda$0(org.graalvm.compiler.nodes.extended.GuardingNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 1 start local 2 0: aload 1
aload 2
aload 0
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.SignedDivNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 dend Lorg/graalvm/compiler/nodes/ValueNode;
0 1 2 sor Lorg/graalvm/compiler/nodes/ValueNode;
private static org.graalvm.compiler.nodes.ValueNode lambda$1(org.graalvm.compiler.nodes.extended.GuardingNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 1 start local 2 0: aload 1
aload 2
aload 0
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.UnsignedDivNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 dend Lorg/graalvm/compiler/nodes/ValueNode;
0 1 2 sor Lorg/graalvm/compiler/nodes/ValueNode;
}
SourceFile: "MathUtil.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles