public class org.graalvm.compiler.phases.common.LoweringPhase extends org.graalvm.compiler.phases.BasePhase<org.graalvm.compiler.nodes.spi.CoreProviders>
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
protected boolean shouldDumpBeforeAtBasicLevel();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.LoweringPhase.loweringStage:Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/common/LoweringPhase;
private boolean checkPostLowering(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.spi.CoreProviders);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)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/nodes/spi/CoreProviders;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/nodes/spi/CoreProviders;
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.nodes.spi.CoreProviders);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)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/nodes/spi/CoreProviders;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/nodes/spi/CoreProviders;)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/nodes/spi/CoreProviders;
MethodParameters:
Name Flags
graph final
context
private void lower(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.spi.CoreProviders, org.graalvm.compiler.phases.common.LoweringPhase$LoweringMode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, 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
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokespecial org.graalvm.compiler.phases.common.LoweringPhase$Round.<init>:(Lorg/graalvm/compiler/phases/common/LoweringPhase;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;Lorg/graalvm/compiler/options/OptionValues;)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/nodes/spi/CoreProviders;
0 5 3 mode Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringMode;
1 5 4 incrementalCanonicalizer Lorg/graalvm/compiler/phases/common/IncrementalCanonicalizerPhase<Lorg/graalvm/compiler/nodes/spi/CoreProviders;>;
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=14, 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 38
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 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 org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
ifeq 38
aload 7
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint
ifeq 38
aload 0
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint
ifne 38
aload 0
instanceof org.graalvm.compiler.nodes.ControlSinkNode
ifne 38
18: iconst_0
istore 9
start local 9 19: aload 7
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
ifeq 22
20: aload 7
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
istore 9
21: goto 28
22: StackMap locals: int
StackMap stack:
aload 7
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi.getKilledLocationIdentities:()[Ljdk/internal/vm/compiler/word/LocationIdentity;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 27
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 org.graalvm.compiler.graph.Node java.util.Iterator int top int int jdk.internal.vm.compiler.word.LocationIdentity[]
StackMap stack:
23: aload 13
iload 11
aaload
astore 10
start local 10 24: aload 10
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
ifeq 26
25: iconst_1
istore 9
end local 10 26: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
27: iload 11
iload 12
if_icmplt 23
28: 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 org.graalvm.compiler.graph.Node java.util.Iterator int
StackMap stack:
iload 9
ifeq 37
aload 7
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 37
29: aload 7
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 10
start local 10 30: goto 36
31: StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
instanceof org.graalvm.compiler.nodes.ControlSinkNode
ifeq 34
32: iconst_0
istore 9
33: goto 37
34: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 37
35: aload 10
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 10
36: StackMap locals:
StackMap stack:
aload 10
ifnull 37
aload 4
aload 2
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isNew:(Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/Node;)Z
ifne 31
end local 10 37: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.LoweringPhase.$assertionsDisabled:Z
ifne 38
iload 9
ifeq 38
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
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 38: 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:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
39: 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 40 0 node Lorg/graalvm/compiler/graph/Node;
0 40 1 loweringTool Lorg/graalvm/compiler/phases/common/LoweringPhase$LoweringToolImpl;
0 40 2 preLoweringMark Lorg/graalvm/compiler/graph/Graph$Mark;
0 40 3 unscheduledUsages Ljava/util/Collection<Lorg/graalvm/compiler/graph/Node;>;
1 40 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 40 5 postLoweringMark Lorg/graalvm/compiler/graph/Graph$Mark;
3 40 6 newNodesAfterLowering Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/graph/Node;>;
7 9 7 n Lorg/graalvm/compiler/graph/Node;
12 38 7 n Lorg/graalvm/compiler/graph/Node;
15 17 9 mark Lorg/graalvm/compiler/graph/Graph$Mark;
19 38 9 isAny Z
24 26 10 ident Ljdk/internal/vm/compiler/word/LocationIdentity;
30 37 10 cur Lorg/graalvm/compiler/nodes/FixedWithNextNode;
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 42
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 41
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 41
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 41
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 35
17: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Lorg/graalvm/compiler/nodes/cfg/Block;
ifnull 33
18: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Lorg/graalvm/compiler/nodes/cfg/Block;
astore 4
start local 4 19: aload 2
aload 4
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
putfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Lorg/graalvm/compiler/nodes/cfg/Block;
20: aload 4
aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.alwaysReachedBlock:Lorg/graalvm/compiler/nodes/cfg/Block;
if_acmpne 26
21: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Lorg/graalvm/compiler/nodes/cfg/Block;
ifnull 25
22: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Lorg/graalvm/compiler/nodes/cfg/Block;
astore 4
23: aload 2
aload 4
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
putfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.dominated:Lorg/graalvm/compiler/nodes/cfg/Block;
24: goto 26
25: 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
26: StackMap locals:
StackMap stack:
aload 4
ifnonnull 29
27: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_LEAVE:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 28: goto 41
end local 3 29: 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
30: getstatic org.graalvm.compiler.phases.common.LoweringPhase.$assertionsDisabled:Z
ifne 31
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 31
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: 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 32: goto 41
end local 3 33: 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 34: goto 41
end local 3 StackMap locals:
StackMap stack:
35: aload 1
getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_LEAVE:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
if_acmpne 40
36: aload 2
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase$Frame.postprocess:()V
37: aload 2
getfield org.graalvm.compiler.phases.common.LoweringPhase$Frame.parent:Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;
astore 2
38: getstatic org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState.ST_ENTER:Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
astore 3
start local 3 39: goto 41
end local 3 40: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 3 41: StackMap locals: org.graalvm.compiler.phases.common.LoweringPhase$ProcessBlockState
StackMap stack:
aload 3
astore 1
end local 3 42: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
43: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 rootFrame Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame<*>;
1 44 1 state Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
2 44 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;
28 29 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
32 33 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
34 35 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
39 40 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
41 42 3 nextState Lorg/graalvm/compiler/phases/common/LoweringPhase$ProcessBlockState;
19 32 4 n Lorg/graalvm/compiler/nodes/cfg/Block;
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.nodes.spi.CoreProviders
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/graalvm/compiler/phases/BasePhase<Lorg/graalvm/compiler/nodes/spi/CoreProviders;>;
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 Multi = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
public abstract Single = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public final StandardLoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage 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