public abstract class org.graalvm.compiler.nodes.extended.SwitchNode extends org.graalvm.compiler.nodes.ControlSplitNode
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.nodes.extended.SwitchNode
super_class: org.graalvm.compiler.nodes.ControlSplitNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.extended.SwitchNode> 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/extended/SwitchNode;>;
protected org.graalvm.compiler.graph.NodeSuccessorList<org.graalvm.compiler.nodes.AbstractBeginNode> successors;
descriptor: Lorg/graalvm/compiler/graph/NodeSuccessorList;
flags: (0x0004) ACC_PROTECTED
Signature: Lorg/graalvm/compiler/graph/NodeSuccessorList<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$Successor()
protected org.graalvm.compiler.nodes.ValueNode value;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$Input()
protected final double[] keyProbabilities;
descriptor: [D
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int[] keySuccessors;
descriptor: [I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
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/extended/SwitchNode;
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.extended.SwitchNode.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/nodes/extended/SwitchNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.extended.SwitchNode.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.extended.SwitchNode>, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.AbstractBeginNode[], int[], );
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/ValueNode;[Lorg/graalvm/compiler/nodes/AbstractBeginNode;[I[D)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forVoid:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokespecial org.graalvm.compiler.nodes.ControlSplitNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;)V
1: getstatic org.graalvm.compiler.nodes.extended.SwitchNode.$assertionsDisabled:Z
ifne 3
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;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 3
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;
instanceof org.graalvm.compiler.core.common.type.AbstractPointerStamp
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc " key not supported by SwitchNode"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.extended.SwitchNode org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.AbstractBeginNode[] int[] double[]
StackMap stack:
getstatic org.graalvm.compiler.nodes.extended.SwitchNode.$assertionsDisabled:Z
ifne 4
aload 4
arraylength
aload 5
arraylength
if_icmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.graph.NodeSuccessorList
dup
aload 0
aload 3
invokespecial org.graalvm.compiler.graph.NodeSuccessorList.<init>:(Lorg/graalvm/compiler/graph/Node;[Lorg/graalvm/compiler/graph/Node;)V
putfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
5: aload 0
aload 2
putfield org.graalvm.compiler.nodes.extended.SwitchNode.value:Lorg/graalvm/compiler/nodes/ValueNode;
6: aload 0
aload 4
putfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
7: aload 0
aload 5
putfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
8: getstatic org.graalvm.compiler.nodes.extended.SwitchNode.$assertionsDisabled:Z
ifne 9
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.assertProbabilities:()Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
return
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 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
0 10 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/extended/SwitchNode;>;
0 10 2 value Lorg/graalvm/compiler/nodes/ValueNode;
0 10 3 successors [Lorg/graalvm/compiler/nodes/AbstractBeginNode;
0 10 4 keySuccessors [I
0 10 5 keyProbabilities [D
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/extended/SwitchNode;>;Lorg/graalvm/compiler/nodes/ValueNode;[Lorg/graalvm/compiler/nodes/AbstractBeginNode;[I[D)V
MethodParameters:
Name Flags
c
value
successors
keySuccessors
keyProbabilities
private boolean assertProbabilities();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=1
start local 0 0: dconst_0
dstore 1
start local 1 1: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 6
StackMap locals: org.graalvm.compiler.nodes.extended.SwitchNode double top top int int double[]
StackMap stack:
2: aload 7
iload 5
daload
dstore 3
start local 3 3: dload 1
dload 3
dadd
dstore 1
4: getstatic org.graalvm.compiler.nodes.extended.SwitchNode.$assertionsDisabled:Z
ifne 5
dload 3
dconst_0
dcmpl
ifge 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Cannot have negative probabilities in switch node: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 3
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 5: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 6
if_icmplt 2
7: getstatic org.graalvm.compiler.nodes.extended.SwitchNode.$assertionsDisabled:Z
ifne 9
dload 1
ldc 0.999
dcmpl
ifle 8
dload 1
ldc 1.001
dcmpg
iflt 9
StackMap locals: org.graalvm.compiler.nodes.extended.SwitchNode double
StackMap stack:
8: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Total "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 1
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
1 10 1 total D
3 5 3 d D
public int getSuccessorCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
invokevirtual org.graalvm.compiler.graph.NodeSuccessorList.count:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
public double probability(org.graalvm.compiler.nodes.AbstractBeginNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: dconst_0
dstore 2
start local 2 1: iconst_0
istore 4
start local 4 2: goto 6
3: StackMap locals: double int
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
iload 4
iaload
invokevirtual org.graalvm.compiler.graph.NodeSuccessorList.get:(I)Lorg/graalvm/compiler/graph/Node;
aload 1
if_acmpne 5
4: dload 2
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 4
daload
dadd
dstore 2
5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
arraylength
if_icmplt 3
end local 4 7: dload 2
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
0 8 1 successor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
1 8 2 sum D
2 7 4 i I
MethodParameters:
Name Flags
successor
public boolean setProbability(org.graalvm.compiler.nodes.AbstractBeginNode, double);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;D)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=11, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.nodes.extended.SwitchNode.$assertionsDisabled:Z
ifne 2
dload 2
dconst_1
dcmpg
ifgt 1
dload 2
dconst_0
dcmpl
ifge 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
dload 2
invokespecial java.lang.AssertionError.<init>:(D)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.extended.SwitchNode.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.assertProbabilities:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
dconst_0
dstore 4
start local 4 4: dconst_0
dstore 6
start local 6 5: iconst_0
istore 8
start local 8 6: goto 12
7: StackMap locals: double double int
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
iload 8
iaload
invokevirtual org.graalvm.compiler.graph.NodeSuccessorList.get:(I)Lorg/graalvm/compiler/graph/Node;
aload 1
if_acmpne 10
8: dload 4
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 8
daload
dadd
dstore 4
9: goto 11
10: StackMap locals:
StackMap stack:
dload 6
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 8
daload
dadd
dstore 6
11: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
12: iload 8
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
arraylength
if_icmplt 7
end local 8 13: dload 6
dconst_0
dcmpl
ifeq 14
dload 4
dconst_0
dcmpl
ifne 15
14: StackMap locals:
StackMap stack:
iconst_0
ireturn
15: StackMap locals:
StackMap stack:
dload 2
dload 4
dsub
dstore 8
start local 8 16: iconst_0
istore 10
start local 10 17: goto 23
18: StackMap locals: double int
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
iload 10
iaload
invokevirtual org.graalvm.compiler.graph.NodeSuccessorList.get:(I)Lorg/graalvm/compiler/graph/Node;
aload 1
if_acmpne 21
19: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 10
dconst_0
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 10
daload
dload 8
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 10
daload
dmul
dload 4
ddiv
dadd
invokestatic java.lang.Math.max:(DD)D
dastore
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 10
dconst_0
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 10
daload
dload 8
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 10
daload
dmul
dload 6
ddiv
dsub
invokestatic java.lang.Math.max:(DD)D
dastore
22: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
23: iload 10
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
arraylength
if_icmplt 18
end local 10 24: getstatic org.graalvm.compiler.nodes.extended.SwitchNode.$assertionsDisabled:Z
ifne 25
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.assertProbabilities:()Z
ifne 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
0 26 1 successor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
0 26 2 value D
4 26 4 sum D
5 26 6 otherSum D
6 13 8 i I
16 26 8 delta D
17 24 10 i I
MethodParameters:
Name Flags
successor
value
public org.graalvm.compiler.nodes.ValueNode value();
descriptor: ()Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.value:Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
public abstract boolean isSorted();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract int keyCount();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract jdk.vm.ci.meta.Constant keyAt(int);
descriptor: (I)Ljdk/vm/ci/meta/Constant;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
i
public boolean structureEquals(org.graalvm.compiler.nodes.extended.SwitchNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/SwitchNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
aload 1
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
invokestatic java.util.Arrays.equals:([I[I)Z
ifeq 1
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.equalKeys:(Lorg/graalvm/compiler/nodes/extended/SwitchNode;)Z
ifeq 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/extended/SwitchNode;
0 2 1 switchNode Lorg/graalvm/compiler/nodes/extended/SwitchNode;
MethodParameters:
Name Flags
switchNode
public abstract boolean equalKeys(org.graalvm.compiler.nodes.extended.SwitchNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/SwitchNode;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
switchNode
public int keySuccessorIndex(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
0 1 1 i I
MethodParameters:
Name Flags
i
public org.graalvm.compiler.nodes.AbstractBeginNode keySuccessor(int);
descriptor: (I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
iload 1
iaload
invokevirtual org.graalvm.compiler.graph.NodeSuccessorList.get:(I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
0 1 1 i I
MethodParameters:
Name Flags
i
public double keyProbability(int);
descriptor: (I)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
iload 1
daload
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
0 1 1 i I
MethodParameters:
Name Flags
i
public double defaultProbability();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keyProbabilities:[D
arraylength
iconst_1
isub
daload
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
public int defaultSuccessorIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
arraylength
iconst_1
isub
iaload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
public org.graalvm.compiler.nodes.AbstractBeginNode blockSuccessor(int);
descriptor: (I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
iload 1
invokevirtual org.graalvm.compiler.graph.NodeSuccessorList.get:(I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
0 1 1 i I
MethodParameters:
Name Flags
i
public void setBlockSuccessor(int, org.graalvm.compiler.nodes.AbstractBeginNode);
descriptor: (ILorg/graalvm/compiler/nodes/AbstractBeginNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
iload 1
aload 2
invokevirtual org.graalvm.compiler.graph.NodeSuccessorList.set:(ILorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
0 2 1 i I
0 2 2 s Lorg/graalvm/compiler/nodes/AbstractBeginNode;
MethodParameters:
Name Flags
i
s
public int blockSuccessorCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
invokevirtual org.graalvm.compiler.graph.NodeSuccessorList.count:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
public org.graalvm.compiler.nodes.AbstractBeginNode defaultSuccessor();
descriptor: ()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.defaultSuccessorIndex:()I
iconst_m1
if_icmpne 2
1: new org.graalvm.compiler.debug.GraalError
dup
ldc "unexpected"
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.successors:Lorg/graalvm/compiler/graph/NodeSuccessorList;
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.defaultSuccessorIndex:()I
invokevirtual org.graalvm.compiler.graph.NodeSuccessorList.get:(I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
public org.graalvm.compiler.nodes.AbstractBeginNode getPrimarySuccessor();
descriptor: ()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
protected void killOtherSuccessors(org.graalvm.compiler.graph.spi.SimplifierTool, int);
descriptor: (Lorg/graalvm/compiler/graph/spi/SimplifierTool;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.graalvm.compiler.nodes.extended.SwitchNode org.graalvm.compiler.graph.spi.SimplifierTool int top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 2: aload 3
aload 0
iload 2
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.blockSuccessor:(I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
if_acmpeq 4
3: aload 1
aload 3
invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.deleteBranch:(Lorg/graalvm/compiler/graph/Node;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aload 1
aload 0
iload 2
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.blockSuccessor:(I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.addToWorkList:(Lorg/graalvm/compiler/graph/Node;)V
6: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
aload 0
iload 2
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.blockSuccessor:(I)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeSplit:(Lorg/graalvm/compiler/nodes/ControlSplitNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
0 8 1 tool Lorg/graalvm/compiler/graph/spi/SimplifierTool;
0 8 2 survivingEdge I
2 4 3 successor Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
tool
survivingEdge
public abstract org.graalvm.compiler.core.common.type.Stamp getValueStampForSuccessor(org.graalvm.compiler.nodes.AbstractBeginNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
beginNode
public org.graalvm.compiler.nodeinfo.NodeCycles estimatedNodeCycles();
descriptor: ()Lorg/graalvm/compiler/nodeinfo/NodeCycles;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.keyCount:()I
iconst_1
if_icmpne 2
1: getstatic org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_2:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.isSorted:()Z
ifeq 4
3: getstatic org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_8:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
areturn
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_64:Lorg/graalvm/compiler/nodeinfo/NodeCycles;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
public org.graalvm.compiler.nodeinfo.NodeSize estimatedNodeSize();
descriptor: ()Lorg/graalvm/compiler/nodeinfo/NodeSize;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.keyCount:()I
iconst_1
if_icmpne 2
1: getstatic org.graalvm.compiler.nodeinfo.NodeSize.SIZE_2:Lorg/graalvm/compiler/nodeinfo/NodeSize;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.SwitchNode.isSorted:()Z
ifeq 4
3: getstatic org.graalvm.compiler.nodeinfo.NodeSize.SIZE_8:Lorg/graalvm/compiler/nodeinfo/NodeSize;
areturn
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodeinfo.NodeSize.SIZE_64:Lorg/graalvm/compiler/nodeinfo/NodeSize;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
public int[] getKeySuccessors();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.extended.SwitchNode.keySuccessors:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/SwitchNode;
}
SourceFile: "SwitchNode.java"
InnerClasses:
public abstract Input = org.graalvm.compiler.graph.Node$Input of org.graalvm.compiler.graph.Node
public abstract Successor = org.graalvm.compiler.graph.Node$Successor of org.graalvm.compiler.graph.Node
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo(cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_UNKNOWN:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, cyclesRationale = "We cannot estimate the runtime cost of a switch statement without knowing the numberof case statements and the involved keys.", size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_UNKNOWN:Lorg/graalvm/compiler/nodeinfo/NodeSize;, sizeRationale = "We cannot estimate the code size of a switch statement without knowing the numberof case statements.")