public class org.graalvm.compiler.phases.common.LoweringPhase extends org.graalvm.compiler.phases.BasePhase<org.graalvm.compiler.phases.tiers.PhaseContext>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.LoweringPhase
super_class: org.graalvm.compiler.phases.BasePhase
{
private final org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer;
descriptor: Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage loweringStage;
descriptor: Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
flags: (0x0012) ACC_PRIVATE, 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/phases/common/LoweringPhase;
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.phases.common.LoweringPhase.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public boolean checkContract();
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/phases/common/LoweringPhase;
public void <init>(org.graalvm.compiler.phases.common.CanonicalizerPhase, org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage);
descriptor: (Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.phases.common.LoweringPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
2: aload 0
aload 2
putfield org.graalvm.compiler.phases.common.LoweringPhase.loweringStage:Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/phases/common/LoweringPhase;
0 4 1 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
0 4 2 loweringStage Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
MethodParameters:
Name Flags
canonicalizer
loweringStage
private boolean checkPostLowering(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 3
start local 3 1: aload 0
aload 1
aload 2
getstatic org.graalvm.compiler.phases.common.LoweringPhase$LoweringMode.VERIFY_LOWERING:Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.lower:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;)V
2: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 4
start local 4 3: getstatic org.graalvm.compiler.phases.common.LoweringPhase.$assertionsDisabled:Z
ifne 4
aload 4
aload 3
invokevirtual org.graalvm.compiler.graph.Graph$Mark.equals:(Ljava/lang/Object;)Z
ifne 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": a second round in the current lowering phase introduced these new nodes: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNewNodes:(Lorg/graalvm/compiler/graph/Graph$Mark;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.Graph$Mark
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/phases/common/LoweringPhase;
0 5 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 5 2 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
1 5 3 expectedMark Lorg/graalvm/compiler/graph/Graph$Mark;
3 5 4 mark Lorg/graalvm/compiler/graph/Graph$Mark;
MethodParameters:
Name Flags
graph
context
protected void run(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic org.graalvm.compiler.phases.common.LoweringPhase$LoweringMode.LOWERING:Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.lower:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;)V
1: getstatic org.graalvm.compiler.phases.common.LoweringPhase.$assertionsDisabled:Z
ifne 2
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.checkPostLowering:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/common/LoweringPhase;
0 3 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 3 2 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
MethodParameters:
Name Flags
graph final
context
private void lower(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext, org.graalvm.compiler.phases.common.LoweringPhase$LoweringMode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase
dup
aload 0
getfield org.graalvm.compiler.phases.common.LoweringPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
invokespecial org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
astore 4
start local 4 1: aload 4
new org.graalvm.compiler.phases.common.LoweringPhase$Round
dup
aload 0
aload 2
aload 3
invokespecial org.graalvm.compiler.phases.common.LoweringPhase$Round.<init>:(Lorg/graalvm/compiler/phases/common/LoweringPhase;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;)V
invokevirtual org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase.appendPhase:(Lorg/graalvm/compiler/phases/BasePhase;)V
2: aload 4
aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
3: getstatic org.graalvm.compiler.phases.common.LoweringPhase.$assertionsDisabled:Z
ifne 4
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.verify:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/phases/common/LoweringPhase;
0 5 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 5 2 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
0 5 3 mode Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;
1 5 4 incrementalCanonicalizer Lorg/graalvm/compiler/phases/common/IncrementalCanonicalizerPhase<Lorg/graalvm/compiler/phases/tiers/PhaseContext;>;
MethodParameters:
Name Flags
graph
context
mode
private static boolean checkPostNodeLowering(org.graalvm.compiler.graph.Node, org.graalvm.compiler.phases.common.LoweringPhase$LoweringToolImpl, org.graalvm.compiler.graph.Graph$Mark, java.util.Collection<org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringToolImpl;Lorg/graalvm/compiler/graph/Graph$Mark;Ljava/util/Collection;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 4
start local 4 1: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 5
start local 5 2: aload 4
aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNewNodes:(Lorg/graalvm/compiler/graph/Graph$Mark;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
astore 6
start local 6 3: aload 0
instanceof org.graalvm.compiler.nodes.calc.FloatingNode
ifeq 10
4: aload 3
invokeinterface java.util.Collection.isEmpty:()Z
ifne 10
5: aload 6
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 8
goto 9
StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.LoweringPhase$LoweringToolImpl org.graalvm.compiler.graph.Graph$Mark java.util.Collection org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.iterators.NodeIterable top java.util.Iterator
StackMap stack:
6: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 7: getstatic org.graalvm.compiler.phases.common.LoweringPhase.$assertionsDisabled:Z
ifne 9
aload 7
instanceof org.graalvm.compiler.nodes.FixedNode
ifeq 9
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": cannot lower floatable node "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " as it introduces fixed node(s) but has the following unscheduled usages: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 7 9: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.LoweringPhase$LoweringToolImpl org.graalvm.compiler.graph.Graph$Mark java.util.Collection org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.iterators.NodeIterable
StackMap stack:
aload 6
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 8
goto 17
StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.LoweringPhase$LoweringToolImpl org.graalvm.compiler.graph.Graph$Mark java.util.Collection org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.iterators.NodeIterable top java.util.Iterator
StackMap stack:
11: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 12: aload 7
instanceof org.graalvm.compiler.nodes.spi.Lowerable
ifeq 17
13: aload 7
checkcast org.graalvm.compiler.nodes.spi.Lowerable
aload 1
invokeinterface org.graalvm.compiler.nodes.spi.Lowerable.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
14: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 9
start local 9 15: getstatic org.graalvm.compiler.phases.common.LoweringPhase.$assertionsDisabled:Z
ifne 17
aload 5
aload 9
invokevirtual org.graalvm.compiler.graph.Graph$Mark.equals:(Ljava/lang/Object;)Z
ifne 17
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": lowering of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " produced lowerable "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " that should have been recursively lowered as it introduces these new nodes: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: aload 4
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNewNodes:(Lorg/graalvm/compiler/graph/Graph$Mark;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 9 end local 7 17: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
18: iconst_1
ireturn
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 19 0 node Lorg/graalvm/compiler/graph/Node;
0 19 1 loweringTool Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringToolImpl;
0 19 2 preLoweringMark Lorg/graalvm/compiler/graph/Graph$Mark;
0 19 3 unscheduledUsages Ljava/util/Collection<Lorg/graalvm/compiler/graph/Node;>;
1 19 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 19 5 postLoweringMark Lorg/graalvm/compiler/graph/Graph$Mark;
3 19 6 newNodesAfterLowering Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/graph/Node;>;
7 9 7 n Lorg/graalvm/compiler/graph/Node;
12 17 7 n Lorg/graalvm/compiler/graph/Node;
15 17 9 mark Lorg/graalvm/compiler/graph/Graph$Mark;
Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringToolImpl;Lorg/graalvm/compiler/graph/Graph$Mark;Ljava/util/Collection<Lorg/graalvm/compiler/graph/Node;>;)Z
MethodParameters:
Name Flags
node
loweringTool
preLoweringMark
unscheduledUsages
public static void processBlock(org.graalvm.compiler.phases.common.LoweringPhase$Frame<?>);
descriptor: (Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: goto 40
3: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState org.graalvm.compiler.phases.common.LoweringPhase$Frame
StackMap stack:
aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpeq 4
aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS_ALWAYS_REACHED:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 9
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.preprocess:()V
5: aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS_ALWAYS_REACHED:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 6
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
goto 7
StackMap locals:
StackMap stack:
6: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER_ALWAYS_REACHED:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
StackMap locals:
StackMap stack: org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState
7: astore 3
start local 3 8: goto 39
end local 3 StackMap locals:
StackMap stack:
9: aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER_ALWAYS_REACHED:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 16
10: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
ifnull 14
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
if_acmpne 14
11: aload 2
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.enterAlwaysReached:(Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
astore 2
12: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 13: goto 39
end local 3 14: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 15: goto 39
end local 3 StackMap locals:
StackMap stack:
16: aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 33
17: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 31
18: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 4
start local 4 19: aload 4
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
if_acmpne 24
20: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 23
21: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 4
22: goto 24
23: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$Frame org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState org.graalvm.compiler.phases.common.LoweringPhase$Frame top org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aconst_null
astore 4
24: StackMap locals:
StackMap stack:
aload 4
ifnonnull 27
25: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_LEAVE:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 26: goto 39
end local 3 27: StackMap locals:
StackMap stack:
aload 2
aload 4
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.enter:(Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
astore 2
28: getstatic org.graalvm.compiler.phases.common.LoweringPhase.$assertionsDisabled:Z
ifne 29
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.parent:Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
if_acmpeq 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
29: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
end local 4 start local 3 30: goto 39
end local 3 31: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$Frame org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState org.graalvm.compiler.phases.common.LoweringPhase$Frame
StackMap stack:
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_LEAVE:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 32: goto 39
end local 3 StackMap locals:
StackMap stack:
33: aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_LEAVE:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 38
34: aload 2
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.postprocess:()V
35: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.parent:Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
astore 2
36: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 37: goto 39
end local 3 38: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 3 39: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState
StackMap stack:
aload 3
astore 1
end local 3 40: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
41: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 rootFrame Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
1 42 1 state Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
2 42 2 f Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
8 9 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
13 14 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
15 16 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
26 27 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
30 31 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
32 33 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
37 38 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
39 40 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
19 30 4 n Lorg/graalvm/compiler/nodes/cfg/Block;
Signature: (Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;)V
MethodParameters:
Name Flags
rootFrame final
public static void processBlockBounded(org.graalvm.compiler.phases.common.LoweringPhase$Frame<?>);
descriptor: (Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: goto 51
3: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState org.graalvm.compiler.phases.common.LoweringPhase$Frame
StackMap stack:
aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpeq 4
aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS_ALWAYS_REACHED:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 9
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.preprocess:()V
5: aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS_ALWAYS_REACHED:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 6
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
goto 7
StackMap locals:
StackMap stack:
6: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER_ALWAYS_REACHED:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
StackMap locals:
StackMap stack: org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState
7: astore 3
start local 3 8: goto 50
end local 3 StackMap locals:
StackMap stack:
9: aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER_ALWAYS_REACHED:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 22
10: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
ifnull 20
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.block:Lorg/graalvm/compiler/nodes/cfg/Block;
if_acmpne 20
11: aload 2
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.enterAlwaysReached:(Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
astore 4
start local 4 12: aload 4
ifnonnull 17
13: aload 2
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.postprocess:()V
14: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.parent:Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
astore 2
15: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 1
16: goto 51
17: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$Frame org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState org.graalvm.compiler.phases.common.LoweringPhase$Frame top org.graalvm.compiler.phases.common.LoweringPhase$Frame
StackMap stack:
aload 4
astore 2
18: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
end local 4 start local 3 19: goto 50
end local 3 20: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$Frame org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState org.graalvm.compiler.phases.common.LoweringPhase$Frame
StackMap stack:
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 21: goto 50
end local 3 StackMap locals:
StackMap stack:
22: aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 44
23: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 42
24: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 4
start local 4 25: aload 4
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
if_acmpne 30
26: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 29
27: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 4
28: goto 30
29: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$Frame org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState org.graalvm.compiler.phases.common.LoweringPhase$Frame top org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aconst_null
astore 4
30: StackMap locals:
StackMap stack:
aload 4
ifnonnull 33
31: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_LEAVE:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 32: goto 50
end local 3 33: StackMap locals:
StackMap stack:
aload 2
aload 4
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.enter:(Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
astore 5
start local 5 34: aload 5
ifnonnull 39
35: aload 2
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.postprocess:()V
36: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.parent:Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
astore 2
37: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 1
38: goto 51
39: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$Frame
StackMap stack:
aload 5
astore 2
40: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_PROCESS:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
end local 5 end local 4 start local 3 41: goto 50
end local 3 42: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$Frame org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState org.graalvm.compiler.phases.common.LoweringPhase$Frame
StackMap stack:
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_LEAVE:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 43: goto 50
end local 3 StackMap locals:
StackMap stack:
44: aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_LEAVE:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 49
45: aload 2
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.postprocess:()V
46: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.parent:Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
astore 2
47: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 48: goto 50
end local 3 49: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 3 50: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState
StackMap stack:
aload 3
astore 1
end local 3 51: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
52: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 rootFrame Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
1 53 1 state Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
2 53 2 f Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
8 9 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
19 20 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
21 22 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
32 33 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
41 42 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
43 44 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
48 49 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
50 51 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
12 19 4 continueRecur Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
25 41 4 n Lorg/graalvm/compiler/nodes/cfg/Block;
34 41 5 continueRecur Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
Signature: (Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;)V
MethodParameters:
Name Flags
rootFrame final
protected void run(org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.phases.tiers.PhaseContext
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/graalvm/compiler/phases/BasePhase<Lorg/graalvm/compiler/phases/tiers/PhaseContext;>;
SourceFile: "LoweringPhase.java"
NestMembers:
org.graalvm.compiler.phases.common.LoweringPhase$DummyGuardHandle org.graalvm.compiler.phases.common.LoweringPhase$Frame org.graalvm.compiler.phases.common.LoweringPhase$LoweringMode org.graalvm.compiler.phases.common.LoweringPhase$LoweringToolImpl org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState org.graalvm.compiler.phases.common.LoweringPhase$Round org.graalvm.compiler.phases.common.LoweringPhase$Round$ProcessFrame
InnerClasses:
public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
final DummyGuardHandle = org.graalvm.compiler.phases.common.LoweringPhase$DummyGuardHandle of org.graalvm.compiler.phases.common.LoweringPhase
public abstract Frame = org.graalvm.compiler.phases.common.LoweringPhase$Frame of org.graalvm.compiler.phases.common.LoweringPhase
private final LoweringMode = org.graalvm.compiler.phases.common.LoweringPhase$LoweringMode of org.graalvm.compiler.phases.common.LoweringPhase
final LoweringToolImpl = org.graalvm.compiler.phases.common.LoweringPhase$LoweringToolImpl of org.graalvm.compiler.phases.common.LoweringPhase
final ProcessBlockState = org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState of org.graalvm.compiler.phases.common.LoweringPhase
private final Round = org.graalvm.compiler.phases.common.LoweringPhase$Round of org.graalvm.compiler.phases.common.LoweringPhase