public interface org.graalvm.compiler.nodes.spi.SwitchFoldable extends org.graalvm.compiler.nodes.ValueNodeInterface
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: org.graalvm.compiler.nodes.spi.SwitchFoldable
super_class: java.lang.Object
{
public static final java.util.Comparator<org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData> SORTER;
descriptor: Ljava/util/Comparator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$KeyData;>;
public static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1019) ACC_PUBLIC, 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/spi/SwitchFoldable;
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.spi.SwitchFoldable.$assertionsDisabled:Z
3: invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
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;)I
org/graalvm/compiler/nodes/spi/SwitchFoldable.lambda$0(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$KeyData;)I (6 itf)
(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$KeyData;)I
invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
putstatic org.graalvm.compiler.nodes.spi.SwitchFoldable.SORTER:Ljava/util/Comparator;
return
LocalVariableTable:
Start End Slot Name Signature
public abstract org.graalvm.compiler.graph.Node getNextSwitchFoldableBranch();
descriptor: ()Lorg/graalvm/compiler/graph/Node;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract org.graalvm.compiler.nodes.ValueNode switchValue();
descriptor: ()Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract org.graalvm.compiler.nodes.AbstractBeginNode getDefault();
descriptor: ()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isInSwitch(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
switchValue
public abstract void cutOffCascadeNode();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract void cutOffLowestCascadeNode();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract int intKeyAt(int);
descriptor: (I)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
i
public abstract double keyProbability(int);
descriptor: (I)D
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
i
public abstract org.graalvm.compiler.nodes.AbstractBeginNode keySuccessor(int);
descriptor: (I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
i
public abstract double defaultProbability();
descriptor: ()D
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public int keyCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
public boolean isDefaultSuccessor(org.graalvm.compiler.nodes.AbstractBeginNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.getDefault:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
0 2 1 successor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
MethodParameters:
Name Flags
successor
public boolean isNonInitializedProfile();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
public static boolean maybeIsInSwitch(org.graalvm.compiler.nodes.LogicNode);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.calc.IntegerEqualsNode
ifeq 1
aload 0
checkcast org.graalvm.compiler.nodes.calc.IntegerEqualsNode
invokevirtual org.graalvm.compiler.nodes.calc.IntegerEqualsNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 condition Lorg/graalvm/compiler/nodes/LogicNode;
MethodParameters:
Name Flags
condition
public static boolean sameSwitchValue(org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
checkcast org.graalvm.compiler.nodes.calc.IntegerEqualsNode
invokevirtual org.graalvm.compiler.nodes.calc.IntegerEqualsNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 condition Lorg/graalvm/compiler/nodes/LogicNode;
0 2 1 switchValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
condition
switchValue
public boolean switchTransformationOptimization(org.graalvm.compiler.graph.spi.SimplifierTool);
descriptor: (Lorg/graalvm/compiler/graph/spi/SimplifierTool;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=28, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.switchValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
start local 2 1: getstatic org.graalvm.compiler.nodes.spi.SwitchFoldable.$assertionsDisabled:Z
ifne 2
aload 0
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
ifnull 3
aload 0
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.isInSwitch:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 3
aload 0
aload 2
invokestatic org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper.getParentSwitchNode:(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
ifnonnull 4
aload 0
aload 2
invokestatic org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper.getChildSwitchNode:(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
ifnonnull 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 2
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;
astore 3
start local 3 5: aload 3
instanceof org.graalvm.compiler.core.common.type.IntegerStamp
ifne 7
6: iconst_0
ireturn
7: StackMap locals: org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.core.common.type.PrimitiveStamp.getBits:(Lorg/graalvm/compiler/core/common/type/Stamp;)I
bipush 32
if_icmple 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
astore 4
start local 4 10: aload 0
astore 5
start local 5 11: goto 14
12: StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable
StackMap stack:
aload 4
astore 5
13: aload 4
aload 2
invokestatic org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper.getParentSwitchNode:(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
astore 4
14: StackMap locals:
StackMap stack:
aload 4
ifnonnull 12
15: new org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData
dup
invokespecial org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData.<init>:()V
astore 6
start local 6 16: new org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList
dup
invokespecial org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList.<init>:()V
astore 7
start local 7 17: new org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList
dup
invokespecial org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList.<init>:()V
astore 8
start local 8 18: iconst_1
newarray 7
dup
iconst_0
dconst_1
dastore
astore 9
start local 9 19: iconst_1
newarray 7
dup
iconst_0
dconst_0
dastore
astore 10
start local 10 20: aload 5
astore 4
21: aload 5
astore 11
start local 11 22: iconst_1
istore 12
start local 12 23: goto 29
24: StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int
StackMap stack:
aload 4
astore 11
25: aload 4
aload 6
aload 7
aload 9
aload 10
aload 8
invokestatic org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper.updateSwitchData:(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$QuickQueryKeyData;Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$QuickQueryList;[D[DLorg/graalvm/compiler/nodes/spi/SwitchFoldable$QuickQueryList;)V
26: aload 4
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.isNonInitializedProfile:()Z
ifne 28
27: iconst_0
istore 12
28: StackMap locals:
StackMap stack:
aload 4
aload 2
invokestatic org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper.getChildSwitchNode:(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
astore 4
29: StackMap locals:
StackMap stack:
aload 4
ifnonnull 24
30: aload 6
invokevirtual org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData.size:()I
iconst_4
if_icmplt 31
aload 11
aload 5
if_acmpne 32
31: StackMap locals:
StackMap stack:
iconst_0
ireturn
32: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 13
start local 13 33: aload 6
invokevirtual org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData.sort:()V
34: aload 10
iconst_0
dup2
daload
aload 9
iconst_0
daload
dadd
dastore
35: getstatic org.graalvm.compiler.nodes.spi.SwitchFoldable.$assertionsDisabled:Z
ifne 36
aload 10
iconst_0
daload
dconst_0
dcmpl
ifgt 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
dconst_1
aload 10
iconst_0
daload
ddiv
dstore 14
start local 14 37: aload 6
getfield org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData.list:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 16
start local 16 38: iload 16
newarray 10
astore 17
start local 17 39: iload 16
iconst_1
iadd
newarray 7
astore 18
start local 18 40: iload 16
iconst_1
iadd
newarray 10
astore 19
start local 19 41: aload 6
invokestatic org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper.countNonDeoptSuccessors:(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$QuickQueryKeyData;)I
aload 9
iconst_0
daload
dconst_0
dcmpl
ifle 42
iconst_1
goto 43
StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[]
StackMap stack: int
42: iconst_0
StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[]
StackMap stack: int int
43: iadd
istore 20
start local 20 44: iload 12
ifeq 45
iload 20
ifle 45
dconst_1
iload 20
i2d
ddiv
goto 46
StackMap locals: int
StackMap stack:
45: dconst_1
StackMap locals:
StackMap stack: double
46: dstore 21
start local 21 47: aload 18
iload 16
iload 12
ifeq 48
aload 9
iconst_0
daload
dconst_0
dcmpl
ifle 48
dload 21
goto 49
StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double
StackMap stack: double[] int
48: dload 14
aload 9
iconst_0
daload
dmul
StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double
StackMap stack: double[] int double
49: dastore
50: aload 19
iload 16
aload 11
aload 7
invokestatic org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper.addDefault:(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$QuickQueryList;)I
iastore
51: iconst_0
istore 23
start local 23 52: goto 62
53: StackMap locals: int
StackMap stack:
aload 6
iload 23
invokevirtual org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData.get:(I)Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$KeyData;
astore 24
start local 24 54: aload 17
iload 23
aload 24
getfield org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData.key:I
iastore
55: aload 18
iload 23
iload 12
ifeq 56
aload 24
getfield org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData.keyProbability:D
dconst_0
dcmpl
ifle 56
dload 21
goto 57
StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double int org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData
StackMap stack: double[] int
56: dload 14
aload 24
getfield org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData.keyProbability:D
dmul
StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double int org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData
StackMap stack: double[] int double
57: dastore
58: aload 19
iload 23
aload 24
getfield org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData.keySuccessor:I
bipush -2
if_icmpeq 59
aload 24
getfield org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData.keySuccessor:I
goto 60
StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double int org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData
StackMap stack: int[] int
59: aload 19
iload 16
iaload
StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double int org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData
StackMap stack: int[] int int
60: iastore
end local 24 61: iinc 23 1
StackMap locals:
StackMap stack:
62: iload 23
iload 16
if_icmplt 53
end local 23 63: aconst_null
astore 23
start local 23 64: aload 3
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
bipush 32
if_icmpge 67
65: aload 13
new org.graalvm.compiler.nodes.calc.SignExtendNode
dup
aload 2
bipush 32
invokespecial org.graalvm.compiler.nodes.calc.SignExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 23
66: goto 68
67: StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
astore 23
68: StackMap locals:
StackMap stack:
new org.graalvm.compiler.nodes.extended.IntegerSwitchNode
dup
aload 23
aload 7
invokevirtual org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList.size:()I
aload 17
aload 18
aload 19
invokespecial org.graalvm.compiler.nodes.extended.IntegerSwitchNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I[I[D[I)V
astore 24
start local 24 69: aload 13
aload 24
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
70: aload 11
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.cutOffLowestCascadeNode:()V
71: aload 11
astore 4
72: goto 76
73: StackMap locals: org.graalvm.compiler.nodes.extended.IntegerSwitchNode
StackMap stack:
aload 4
aload 11
if_acmpeq 75
74: aload 4
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.cutOffCascadeNode:()V
75: StackMap locals:
StackMap stack:
aload 4
aload 2
invokestatic org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper.getParentSwitchNode:(Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
astore 4
76: StackMap locals:
StackMap stack:
aload 4
ifnonnull 73
77: aload 5
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 24
invokevirtual org.graalvm.compiler.nodes.ValueNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
78: aload 5
invokeinterface org.graalvm.compiler.nodes.spi.SwitchFoldable.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 24
invokevirtual org.graalvm.compiler.nodes.ValueNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
79: iconst_0
istore 25
start local 25 80: aload 7
getfield org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList.list:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 27
goto 87
StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.IntegerSwitchNode int top java.util.Iterator
StackMap stack:
81: aload 27
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 26
start local 26 82: aload 26
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.isUnregistered:()Z
ifeq 86
83: aload 13
aload 26
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
84: aload 13
aload 26
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
85: aload 26
aload 26
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
86: StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.IntegerSwitchNode int org.graalvm.compiler.nodes.AbstractBeginNode java.util.Iterator
StackMap stack:
aload 24
iload 25
iinc 25 1
aload 26
invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.setBlockSuccessor:(ILorg/graalvm/compiler/nodes/AbstractBeginNode;)V
end local 26 87: StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.IntegerSwitchNode int top java.util.Iterator
StackMap stack:
aload 27
invokeinterface java.util.Iterator.hasNext:()Z
ifne 81
88: aload 5
checkcast org.graalvm.compiler.nodes.FixedNode
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
89: aload 8
getfield org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList.list:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 27
goto 94
StackMap locals:
StackMap stack:
90: aload 27
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 26
start local 26 91: aload 26
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
ifnonnull 94
92: getstatic org.graalvm.compiler.nodes.spi.SwitchFoldable.$assertionsDisabled:Z
ifne 93
aload 26
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.isAlive:()Z
ifne 93
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
93: StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.IntegerSwitchNode int org.graalvm.compiler.nodes.AbstractBeginNode java.util.Iterator
StackMap stack:
aload 26
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 26 94: StackMap locals: org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.graph.spi.SimplifierTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList double[] double[] org.graalvm.compiler.nodes.spi.SwitchFoldable int org.graalvm.compiler.nodes.StructuredGraph double int int[] double[] int[] int double org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.IntegerSwitchNode int top java.util.Iterator
StackMap stack:
aload 27
invokeinterface java.util.Iterator.hasNext:()Z
ifne 90
95: aload 1
aload 24
invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.addToWorkList:(Lorg/graalvm/compiler/graph/Node;)V
96: iconst_1
ireturn
end local 25 end local 24 end local 23 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 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 97 0 this Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
0 97 1 tool Lorg/graalvm/compiler/graph/spi/SimplifierTool;
1 97 2 switchValue Lorg/graalvm/compiler/nodes/ValueNode;
5 97 3 switchStamp Lorg/graalvm/compiler/core/common/type/Stamp;
10 97 4 iteratingNode Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
11 97 5 topMostSwitchNode Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
16 97 6 keyData Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$QuickQueryKeyData;
17 97 7 successors Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$QuickQueryList<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
18 97 8 potentiallyUnreachable Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$QuickQueryList<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
19 97 9 cumulative [D
20 97 10 totalProbability [D
22 97 11 lowestSwitchNode Lorg/graalvm/compiler/nodes/spi/SwitchFoldable;
23 97 12 uninitializedProfiles Z
33 97 13 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
37 97 14 normalizationFactor D
38 97 16 newKeyCount I
39 97 17 keys [I
40 97 18 keyProbabilities [D
41 97 19 keySuccessors [I
44 97 20 nonDeoptSuccessorCount I
47 97 21 uniform D
52 63 23 i I
54 61 24 data Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$KeyData;
64 97 23 adapter Lorg/graalvm/compiler/nodes/ValueNode;
69 97 24 toInsert Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;
80 97 25 pos I
82 87 26 begin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
91 94 26 duplicate Lorg/graalvm/compiler/nodes/AbstractBeginNode;
MethodParameters:
Name Flags
tool
private static int lambda$0(org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData);
descriptor: (Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$KeyData;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData.key:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 k Lorg/graalvm/compiler/nodes/spi/SwitchFoldable$KeyData;
}
SourceFile: "SwitchFoldable.java"
NestMembers:
org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Helper = org.graalvm.compiler.nodes.spi.SwitchFoldable$Helper of org.graalvm.compiler.nodes.spi.SwitchFoldable
public final KeyData = org.graalvm.compiler.nodes.spi.SwitchFoldable$KeyData of org.graalvm.compiler.nodes.spi.SwitchFoldable
public final QuickQueryKeyData = org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryKeyData of org.graalvm.compiler.nodes.spi.SwitchFoldable
public final QuickQueryList = org.graalvm.compiler.nodes.spi.SwitchFoldable$QuickQueryList of org.graalvm.compiler.nodes.spi.SwitchFoldable
RuntimeInvisibleAnnotations:
org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"UCF"}, justification = "javac spawns useless control flow in static initializer when using assert(asNode().isAlive())")