public class org.graalvm.compiler.loop.phases.ReassociateInvariantPhase extends org.graalvm.compiler.phases.Phase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.loop.phases.ReassociateInvariantPhase
super_class: org.graalvm.compiler.phases.Phase
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.loop.phases.ReassociateInvariantPhase this
0: .line 38
aload 0 /* this */
invokespecial org.graalvm.compiler.phases.Phase.<init>:()V
return
end local 0 // org.graalvm.compiler.loop.phases.ReassociateInvariantPhase this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/phases/ReassociateInvariantPhase;
protected void run(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=11, args_size=2
start local 0 // org.graalvm.compiler.loop.phases.ReassociateInvariantPhase this
start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
0: .line 43
iconst_0
istore 2 /* iterations */
start local 2 // int iterations
1: .line 44
aload 1 /* graph */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 3 /* debug */
start local 3 // org.graalvm.compiler.debug.DebugContext debug
2: .line 45
aconst_null
astore 4
aconst_null
astore 5
3: aload 3 /* debug */
ldc "ReassociateInvariants"
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 6 /* s */
start local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
4: .line 46
iconst_1
istore 7 /* changed */
start local 7 // boolean changed
5: .line 47
goto 15
6: .line 48
StackMap locals: org.graalvm.compiler.loop.phases.ReassociateInvariantPhase org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int
StackMap stack:
iconst_0
istore 7 /* changed */
7: .line 49
new org.graalvm.compiler.loop.LoopsData
dup
aload 1 /* graph */
invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
astore 8 /* dataReassociate */
start local 8 // org.graalvm.compiler.loop.LoopsData dataReassociate
8: .line 50
aload 8 /* dataReassociate */
invokevirtual org.graalvm.compiler.loop.LoopsData.loops:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 11
StackMap locals: org.graalvm.compiler.loop.phases.ReassociateInvariantPhase org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int org.graalvm.compiler.loop.LoopsData top java.util.Iterator
StackMap stack:
9: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.loop.LoopEx
astore 9 /* loop */
start local 9 // org.graalvm.compiler.loop.LoopEx loop
10: .line 51
iload 7 /* changed */
aload 9 /* loop */
invokevirtual org.graalvm.compiler.loop.LoopEx.reassociateInvariants:()Z
ior
istore 7 /* changed */
end local 9 // org.graalvm.compiler.loop.LoopEx loop
11: .line 50
StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: .line 53
aload 8 /* dataReassociate */
invokevirtual org.graalvm.compiler.loop.LoopsData.deleteUnusedNodes:()V
13: .line 54
iinc 2 /* iterations */ 1
14: .line 55
aload 3 /* debug */
iconst_3
aload 1 /* graph */
ldc "after iteration %d"
iload 2 /* iterations */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
end local 8 // org.graalvm.compiler.loop.LoopsData dataReassociate
15: .line 47
StackMap locals: org.graalvm.compiler.loop.phases.ReassociateInvariantPhase org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int
StackMap stack:
iload 7 /* changed */
ifne 6
end local 7 // boolean changed
16: .line 57
aload 6 /* s */
ifnull 24
aload 6 /* s */
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 24
StackMap locals: org.graalvm.compiler.loop.phases.ReassociateInvariantPhase org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
17: astore 4
aload 6 /* s */
ifnull 18
aload 6 /* s */
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
StackMap locals:
StackMap stack:
18: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 5
aload 4
ifnonnull 20
aload 5
astore 4
goto 21
StackMap locals:
StackMap stack:
20: aload 4
aload 5
if_acmpeq 21
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
21: aload 4
athrow
StackMap locals: org.graalvm.compiler.loop.phases.ReassociateInvariantPhase org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
22: astore 4 /* e */
start local 4 // java.lang.Throwable e
23: .line 58
aload 3 /* debug */
aload 4 /* e */
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 // java.lang.Throwable e
24: .line 60
StackMap locals:
StackMap stack:
return
end local 3 // org.graalvm.compiler.debug.DebugContext debug
end local 2 // int iterations
end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
end local 0 // org.graalvm.compiler.loop.phases.ReassociateInvariantPhase this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/graalvm/compiler/loop/phases/ReassociateInvariantPhase;
0 25 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 25 2 iterations I
2 25 3 debug Lorg/graalvm/compiler/debug/DebugContext;
4 18 6 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
5 16 7 changed Z
8 15 8 dataReassociate Lorg/graalvm/compiler/loop/LoopsData;
10 11 9 loop Lorg/graalvm/compiler/loop/LoopEx;
23 24 4 e Ljava/lang/Throwable;
Exception table:
from to target type
4 16 17 any
3 19 19 any
2 22 22 Class java.lang.Throwable
MethodParameters:
Name Flags
graph
}
SourceFile: "ReassociateInvariantPhase.java"
InnerClasses:
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext