public final class org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode extends org.graalvm.compiler.nodes.calc.BinaryNode implements org.graalvm.compiler.nodes.spi.ArithmeticLIRLowerable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode
super_class: org.graalvm.compiler.nodes.calc.BinaryNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode> TYPE;
descriptor: Lorg/graalvm/compiler/graph/NodeClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;>;
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/replacements/nodes/arithmetic/UnsignedMulHighNode;
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.replacements.nodes.arithmetic.UnsignedMulHighNode.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.unrestricted:()Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
aload 1
aload 2
invokespecial org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.<init>:(Lorg/graalvm/compiler/core/common/type/IntegerStamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;
0 2 1 x Lorg/graalvm/compiler/nodes/ValueNode;
0 2 2 y Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
x
y
public void <init>(org.graalvm.compiler.core.common.type.IntegerStamp, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/core/common/type/IntegerStamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
aload 1
aload 2
aload 3
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 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;
0 2 1 stamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
0 2 2 x Lorg/graalvm/compiler/nodes/ValueNode;
0 2 3 y Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
stamp
x
y
private static long[] getUnsignedExtremes(org.graalvm.compiler.core.common.type.IntegerStamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/IntegerStamp;)[J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
lconst_0
lcmp
ifge 2
aload 0
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
lconst_0
lcmp
iflt 2
1: iconst_2
newarray 11
dup
iconst_1
ldc -1
lastore
areturn
2: StackMap locals:
StackMap stack:
iconst_2
newarray 11
dup
iconst_0
aload 0
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
lastore
dup
iconst_1
aload 0
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
lastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 stamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
MethodParameters:
Name Flags
stamp
private <T> T processExtremes(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.core.common.type.Stamp, java.util.function.BiFunction<java.lang.Long, java.lang.Long, T>);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;Ljava/util/function/BiFunction;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=25, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
astore 4
start local 4 1: aload 2
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
astore 5
start local 5 2: aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 6
start local 6 3: getstatic org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.$assertionsDisabled:Z
ifne 4
aload 6
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 4
aload 6
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 4
invokestatic org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.getUnsignedExtremes:(Lorg/graalvm/compiler/core/common/type/IntegerStamp;)[J
astore 7
start local 7 5: aload 5
invokestatic org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.getUnsignedExtremes:(Lorg/graalvm/compiler/core/common/type/IntegerStamp;)[J
astore 8
start local 8 6: ldc 9223372036854775807
lstore 9
start local 9 7: ldc -9223372036854775808
lstore 11
start local 11 8: aload 7
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 20
StackMap locals: org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp java.util.function.BiFunction org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp jdk.vm.ci.meta.JavaKind long[] long[] long long top top int int long[]
StackMap stack:
9: aload 17
iload 15
laload
lstore 13
start local 13 10: aload 8
dup
astore 22
arraylength
istore 21
iconst_0
istore 20
goto 18
StackMap locals: org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp java.util.function.BiFunction org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp jdk.vm.ci.meta.JavaKind long[] long[] long long long int int long[] top top int int long[]
StackMap stack:
11: aload 22
iload 20
laload
lstore 18
start local 18 12: aload 6
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 13
lload 13
l2i
lload 18
l2i
invokestatic org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.multiplyHighUnsigned:(II)I
i2l
goto 14
StackMap locals: org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp java.util.function.BiFunction org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp jdk.vm.ci.meta.JavaKind long[] long[] long long long int int long[] long int int long[]
StackMap stack:
13: lload 13
lload 18
invokestatic org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.multiplyHighUnsigned:(JJ)J
StackMap locals:
StackMap stack: long
14: lstore 23
start local 23 15: lload 9
lload 23
invokestatic java.lang.Math.min:(JJ)J
lstore 9
16: lload 11
lload 23
invokestatic java.lang.Math.max:(JJ)J
lstore 11
end local 23 end local 18 17: iinc 20 1
StackMap locals: org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp java.util.function.BiFunction org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp jdk.vm.ci.meta.JavaKind long[] long[] long long long int int long[] top top int int long[]
StackMap stack:
18: iload 20
iload 21
if_icmplt 11
end local 13 19: iinc 15 1
StackMap locals: org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp java.util.function.BiFunction org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp jdk.vm.ci.meta.JavaKind long[] long[] long long top top int int long[]
StackMap stack:
20: iload 15
iload 16
if_icmplt 9
21: aload 3
lload 9
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
lload 11
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 11 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 22 0 this Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;
0 22 1 forX Lorg/graalvm/compiler/core/common/type/Stamp;
0 22 2 forY Lorg/graalvm/compiler/core/common/type/Stamp;
0 22 3 op Ljava/util/function/BiFunction<Ljava/lang/Long;Ljava/lang/Long;TT;>;
1 22 4 xStamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
2 22 5 yStamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
3 22 6 kind Ljdk/vm/ci/meta/JavaKind;
5 22 7 xExtremes [J
6 22 8 yExtremes [J
7 22 9 min J
8 22 11 max J
10 19 13 a J
12 17 18 b J
15 17 23 result J
Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;Ljava/util/function/BiFunction<Ljava/lang/Long;Ljava/lang/Long;TT;>;)TT;
MethodParameters:
Name Flags
forX
forY
op
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=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
invokedynamic apply(Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;)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/replacements/nodes/arithmetic/UnsignedMulHighNode.lambda$0(Ljava/lang/Long;Ljava/lang/Long;)Lorg/graalvm/compiler/core/common/type/Stamp; (7)
(Ljava/lang/Long;Ljava/lang/Long;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.processExtremes:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;Ljava/util/function/BiFunction;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.type.Stamp
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;
0 1 1 stampX Lorg/graalvm/compiler/core/common/type/Stamp;
0 1 2 stampY Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
stampX
stampY
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=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 0
invokedynamic apply(Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;)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/replacements/nodes/arithmetic/UnsignedMulHighNode.lambda$1(Ljava/lang/Long;Ljava/lang/Long;)Lorg/graalvm/compiler/nodes/calc/FloatingNode; (7)
(Ljava/lang/Long;Ljava/lang/Long;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
invokevirtual org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.processExtremes:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;Ljava/util/function/BiFunction;)Ljava/lang/Object;
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 this Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;
0 1 1 tool Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
0 1 2 forX Lorg/graalvm/compiler/nodes/ValueNode;
0 1 3 forY Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
tool
forX
forY
public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool, org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool);
descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 3
start local 3 1: aload 1
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 4
start local 4 2: aload 1
aload 0
aload 2
aload 3
aload 4
invokeinterface org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool.emitUMulHigh:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
pop
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;
0 4 1 nodeValueMap Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
0 4 2 gen Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;
1 4 3 a Ljdk/vm/ci/meta/Value;
2 4 4 b Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
nodeValueMap
gen
public static int multiplyHighUnsigned(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: iload 0
i2l
ldc 4294967295
land
lstore 2
start local 2 1: iload 1
i2l
ldc 4294967295
land
lstore 4
start local 4 2: lload 2
lload 4
lmul
lstore 6
start local 6 3: lload 6
bipush 32
lshr
l2i
ireturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x I
0 4 1 y I
1 4 2 xl J
2 4 4 yl J
3 4 6 r J
MethodParameters:
Name Flags
x
y
public static long multiplyHighUnsigned(long, long);
descriptor: (JJ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=20, args_size=2
start local 0 start local 2 0: lload 0
ldc 4294967295
land
lstore 4
start local 4 1: lload 0
bipush 32
lushr
lstore 10
start local 10 2: lload 2
ldc 4294967295
land
lstore 6
start local 6 3: lload 2
bipush 32
lushr
lstore 12
start local 12 4: lload 4
lload 6
lmul
lstore 8
start local 8 5: lload 10
lload 6
lmul
lload 8
bipush 32
lushr
ladd
lstore 18
start local 18 6: lload 18
ldc 4294967295
land
lstore 14
start local 14 7: lload 18
bipush 32
lushr
lstore 16
start local 16 8: lload 14
lload 4
lload 12
lmul
ladd
lstore 14
9: lload 10
lload 12
lmul
lload 16
ladd
lload 14
bipush 32
lushr
ladd
lreturn
end local 18 end local 16 end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 x J
0 10 2 y J
1 10 4 x0 J
3 10 6 y0 J
5 10 8 z0 J
2 10 10 x1 J
4 10 12 y1 J
7 10 14 z1 J
8 10 16 z2 J
6 10 18 t J
MethodParameters:
Name Flags
x
y
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.replacements.nodes.arithmetic.UnsignedMulHighNode.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
private org.graalvm.compiler.core.common.type.Stamp lambda$0(java.lang.Long, java.lang.Long);
descriptor: (Ljava/lang/Long;Ljava/lang/Long;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.Long.longValue:()J
aload 2
invokevirtual java.lang.Long.longValue:()J
lcmp
ifeq 1
aload 1
invokevirtual java.lang.Long.longValue:()J
lconst_0
lcmp
iflt 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
invokevirtual java.lang.Long.longValue:()J
aload 2
invokevirtual java.lang.Long.longValue:()J
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(Ljdk/vm/ci/meta/JavaKind;JJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
goto 3
StackMap locals:
StackMap stack:
2: aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
StackMap locals:
StackMap stack: org.graalvm.compiler.core.common.type.Stamp
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;
0 4 1 min Ljava/lang/Long;
0 4 2 max Ljava/lang/Long;
private org.graalvm.compiler.nodes.calc.FloatingNode lambda$1(java.lang.Long, java.lang.Long);
descriptor: (Ljava/lang/Long;Ljava/lang/Long;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.Long.longValue:()J
aload 2
invokevirtual java.lang.Long.longValue:()J
lcmp
ifne 1
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.arithmetic.UnsignedMulHighNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;J)Lorg/graalvm/compiler/nodes/ConstantNode;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.calc.FloatingNode
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/nodes/arithmetic/UnsignedMulHighNode;
0 3 1 min Ljava/lang/Long;
0 3 2 max Ljava/lang/Long;
}
SourceFile: "UnsignedMulHighNode.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo(shortName = "|*H|", cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_4:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, cyclesRationale = "mul + mov", size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_4:Lorg/graalvm/compiler/nodeinfo/NodeSize;)