public abstract class org.graalvm.compiler.phases.BasePhase<C> implements org.graalvm.compiler.phases.contract.PhaseSizeContract
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.phases.BasePhase
super_class: java.lang.Object
{
private final org.graalvm.compiler.debug.TimerKey timer;
descriptor: Lorg/graalvm/compiler/debug/TimerKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.debug.CounterKey executionCount;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.debug.CounterKey inputNodesCount;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.debug.MemUseTrackerKey memUseTracker;
descriptor: Lorg/graalvm/compiler/debug/MemUseTrackerKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.lang.ClassValue<org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics> statisticsClassValue;
descriptor: Ljava/lang/ClassValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ClassValue<Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;>;
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=2, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/phases/BasePhase;
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.BasePhase.$assertionsDisabled:Z
3: new org.graalvm.compiler.phases.BasePhase$1
dup
invokespecial org.graalvm.compiler.phases.BasePhase$1.<init>:()V
putstatic org.graalvm.compiler.phases.BasePhase.statisticsClassValue:Ljava/lang/ClassValue;
4: return
LocalVariableTable:
Start End Slot Name Signature
private static org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics getBasePhaseStatistics(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.phases.BasePhase.statisticsClassValue:Ljava/lang/ClassValue;
aload 0
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;
MethodParameters:
Name Flags
c
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.graalvm.compiler.phases.BasePhase.getBasePhaseStatistics:(Ljava/lang/Class;)Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;
astore 1
start local 1 2: aload 0
aload 1
getfield org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics.timer:Lorg/graalvm/compiler/debug/TimerKey;
putfield org.graalvm.compiler.phases.BasePhase.timer:Lorg/graalvm/compiler/debug/TimerKey;
3: aload 0
aload 1
getfield org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics.executionCount:Lorg/graalvm/compiler/debug/CounterKey;
putfield org.graalvm.compiler.phases.BasePhase.executionCount:Lorg/graalvm/compiler/debug/CounterKey;
4: aload 0
aload 1
getfield org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics.memUseTracker:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
putfield org.graalvm.compiler.phases.BasePhase.memUseTracker:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
5: aload 0
aload 1
getfield org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics.inputNodesCount:Lorg/graalvm/compiler/debug/CounterKey;
putfield org.graalvm.compiler.phases.BasePhase.inputNodesCount:Lorg/graalvm/compiler/debug/CounterKey;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
2 7 1 statistics Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;
public final void apply(org.graalvm.compiler.nodes.StructuredGraph, );
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.graalvm.compiler.phases.BasePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
0 2 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 2 2 context TC;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;)V
MethodParameters:
Name Flags
graph final
context final
private org.graalvm.compiler.phases.BasePhase<?> getEnclosingPhase(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/phases/BasePhase;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.context:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.debug.DebugContext top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 2
start local 2 2: aload 2
aload 0
if_acmpeq 5
aload 2
instanceof org.graalvm.compiler.phases.BasePhase
ifeq 5
3: aload 2
instanceof org.graalvm.compiler.phases.PhaseSuite
ifne 5
4: aload 2
checkcast org.graalvm.compiler.phases.BasePhase
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
0 7 1 debug Lorg/graalvm/compiler/debug/DebugContext;
2 5 2 c Ljava/lang/Object;
Signature: (Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/phases/BasePhase<*>;
MethodParameters:
Name Flags
debug
private boolean dumpBefore(org.graalvm.compiler.nodes.StructuredGraph, C, );
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Z)Z
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: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 4
start local 4 1: iload 3
ifeq 7
aload 4
iconst_3
invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
ifne 2
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDumpBeforeAtBasicLevel:()Z
ifeq 7
aload 4
iconst_1
invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
ifeq 7
2: StackMap locals: org.graalvm.compiler.debug.DebugContext
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDumpBeforeAtBasicLevel:()Z
ifeq 5
3: aload 4
iconst_1
aload 1
ldc "Before phase %s"
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
4: goto 15
5: StackMap locals:
StackMap stack:
aload 4
iconst_3
aload 1
ldc "Before phase %s"
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
6: goto 15
StackMap locals:
StackMap stack:
7: iload 3
ifne 10
aload 4
iconst_4
invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
ifeq 10
8: aload 4
iconst_4
aload 1
ldc "Before subphase %s"
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
9: goto 15
StackMap locals:
StackMap stack:
10: aload 4
iconst_0
invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
ifeq 15
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDump:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)Z
ifeq 15
11: aload 4
iconst_0
aload 1
ldc "Before %s %s"
iload 3
ifeq 12
ldc "phase"
goto 13
StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext
StackMap stack: org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.nodes.StructuredGraph java.lang.String
12: ldc "subphase"
StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext
StackMap stack: org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.nodes.StructuredGraph java.lang.String java.lang.String
13: aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
0 16 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 16 2 context TC;
0 16 3 isTopLevel Z
1 16 4 debug Lorg/graalvm/compiler/debug/DebugContext;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;Z)Z
MethodParameters:
Name Flags
graph final
context final
isTopLevel
protected boolean shouldDumpBeforeAtBasicLevel();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
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/BasePhase<TC;>;
protected boolean shouldDumpAfterAtBasicLevel();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
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/BasePhase<TC;>;
protected final void apply(org.graalvm.compiler.nodes.StructuredGraph, C, );
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Z)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
1: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 4
start local 4 2: aconst_null
astore 5
aconst_null
astore 6
3: aload 0
getfield org.graalvm.compiler.phases.BasePhase.timer:Lorg/graalvm/compiler/debug/TimerKey;
aload 4
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 7
start local 7 4: aload 4
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 8
start local 8 5: aload 0
getfield org.graalvm.compiler.phases.BasePhase.memUseTracker:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
aload 4
invokeinterface org.graalvm.compiler.debug.MemUseTrackerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 9
start local 9 6: iconst_0
istore 10
start local 10 7: aconst_null
astore 11
start local 11 8: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
astore 12
start local 12 9: getstatic org.graalvm.compiler.phases.BasePhase$PhaseOptions.VerifyGraalPhasesSize:Lorg/graalvm/compiler/options/OptionKey;
aload 12
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.checkContract:()Z
ifeq 10
iconst_1
goto 11
StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable int org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.options.OptionValues
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 13
start local 13 12: iload 13
ifeq 15
13: aload 1
invokestatic org.graalvm.compiler.phases.contract.NodeCostUtil.computeGraphSize:(Lorg/graalvm/compiler/nodes/StructuredGraph;)I
istore 10
14: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 11
15: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.phases.BasePhase.getEnclosingPhase:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/phases/BasePhase;
ifnonnull 16
iconst_1
goto 17
StackMap locals:
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: istore 14
start local 14 18: iconst_0
istore 15
start local 15 19: iload 3
ifeq 21
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.areScopesEnabled:()Z
ifeq 21
20: aload 0
aload 1
aload 2
iload 14
invokevirtual org.graalvm.compiler.phases.BasePhase.dumpBefore:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Z)Z
istore 15
21: StackMap locals: int int
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.BasePhase.inputNodesCount:Lorg/graalvm/compiler/debug/CounterKey;
aload 4
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
i2l
invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
22: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.BasePhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
23: aload 0
getfield org.graalvm.compiler.phases.BasePhase.executionCount:Lorg/graalvm/compiler/debug/CounterKey;
aload 4
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
24: iload 13
ifeq 28
25: aload 11
invokevirtual org.graalvm.compiler.graph.Graph$Mark.isCurrent:()Z
ifne 28
26: aload 1
invokestatic org.graalvm.compiler.phases.contract.NodeCostUtil.computeGraphSize:(Lorg/graalvm/compiler/nodes/StructuredGraph;)I
istore 16
start local 16 27: aload 1
iload 10
iload 16
aload 0
invokestatic org.graalvm.compiler.phases.contract.NodeCostUtil.phaseFulfillsSizeContract:(Lorg/graalvm/compiler/nodes/StructuredGraph;IILorg/graalvm/compiler/phases/contract/PhaseSizeContract;)V
end local 16 28: StackMap locals:
StackMap stack:
iload 3
ifeq 30
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.areScopesEnabled:()Z
ifeq 30
29: aload 0
aload 1
iload 14
iload 15
invokevirtual org.graalvm.compiler.phases.BasePhase.dumpAfter:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZ)V
30: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.isVerifyEnabled:()Z
ifeq 32
31: aload 4
aload 1
ldc "%s"
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokevirtual org.graalvm.compiler.debug.DebugContext.verify:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
32: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.BasePhase.$assertionsDisabled:Z
ifne 33
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.verify:()Z
ifne 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 33: StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
StackMap stack:
aload 9
ifnull 36
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 36
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 5
aload 9
ifnull 35
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 9 StackMap locals:
StackMap stack:
35: aload 5
athrow
StackMap locals:
StackMap stack:
36: aload 8
ifnull 41
aload 8
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 41
StackMap locals:
StackMap stack: java.lang.Throwable
37: astore 6
aload 5
ifnonnull 38
aload 6
astore 5
goto 39
StackMap locals:
StackMap stack:
38: aload 5
aload 6
if_acmpeq 39
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
39: aload 8
ifnull 40
aload 8
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 8 StackMap locals:
StackMap stack:
40: aload 5
athrow
StackMap locals:
StackMap stack:
41: aload 7
ifnull 51
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 51
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 6
aload 5
ifnonnull 43
aload 6
astore 5
goto 44
StackMap locals:
StackMap stack:
43: aload 5
aload 6
if_acmpeq 44
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
44: aload 7
ifnull 45
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 7 StackMap locals:
StackMap stack:
45: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
46: astore 6
aload 5
ifnonnull 47
aload 6
astore 5
goto 48
StackMap locals:
StackMap stack:
47: aload 5
aload 6
if_acmpeq 48
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
48: aload 5
athrow
StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
49: astore 5
start local 5 50: aload 4
aload 5
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 5 51: StackMap locals:
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 52 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
0 52 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 52 2 context TC;
0 52 3 dumpGraph Z
2 52 4 debug Lorg/graalvm/compiler/debug/DebugContext;
4 45 7 a Lorg/graalvm/compiler/debug/DebugCloseable;
5 40 8 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
6 35 9 c Lorg/graalvm/compiler/debug/DebugCloseable;
7 33 10 sizeBefore I
8 33 11 before Lorg/graalvm/compiler/graph/Graph$Mark;
9 33 12 options Lorg/graalvm/compiler/options/OptionValues;
12 33 13 verifySizeContract Z
18 33 14 isTopLevel Z
19 33 15 dumpedBefore Z
27 28 16 sizeAfter I
50 51 5 t Ljava/lang/Throwable;
Exception table:
from to target type
6 33 34 any
5 36 37 any
4 41 42 any
3 46 46 any
2 49 49 Class java.lang.Throwable
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;Z)V
MethodParameters:
Name Flags
graph final
context final
dumpGraph final
private void dumpAfter(org.graalvm.compiler.nodes.StructuredGraph, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 5
start local 5 2: iload 2
ifeq 12
3: aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDumpAfterAtBasicLevel:()Z
ifeq 8
4: aload 5
iconst_1
invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
ifeq 15
5: aload 5
iconst_1
aload 1
ldc "After phase %s"
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
6: iconst_1
istore 4
7: goto 15
8: StackMap locals: int org.graalvm.compiler.debug.DebugContext
StackMap stack:
aload 5
iconst_2
invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
ifeq 15
9: aload 5
iconst_2
aload 1
ldc "After phase %s"
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
10: iconst_1
istore 4
11: goto 15
12: StackMap locals:
StackMap stack:
aload 5
iconst_3
invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
ifeq 15
13: aload 5
iconst_3
aload 1
ldc "After subphase %s"
aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
14: iconst_1
istore 4
15: StackMap locals:
StackMap stack:
iload 4
ifne 19
aload 5
iconst_0
invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
ifeq 19
iload 3
ifeq 19
16: aload 5
iconst_0
aload 1
ldc "After %s %s"
iload 2
ifeq 17
ldc "phase"
goto 18
StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph int int int org.graalvm.compiler.debug.DebugContext
StackMap stack: org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.nodes.StructuredGraph java.lang.String
17: ldc "subphase"
StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph int int int org.graalvm.compiler.debug.DebugContext
StackMap stack: org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.nodes.StructuredGraph java.lang.String java.lang.String
18: aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
19: 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 20 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
0 20 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 20 2 isTopLevel Z
0 20 3 dumpedBefore Z
1 20 4 dumped Z
2 20 5 debug Lorg/graalvm/compiler/debug/DebugContext;
MethodParameters:
Name Flags
graph final
isTopLevel
dumpedBefore
private boolean shouldDump(org.graalvm.compiler.nodes.StructuredGraph, );
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 3
start local 3 1: getstatic org.graalvm.compiler.debug.DebugOptions.DumpOnPhaseChange:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 2: aload 4
ifnull 25
aload 4
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.util.regex.Pattern.matches:(Ljava/lang/String;Ljava/lang/CharSequence;)Z
ifeq 25
3: aload 1
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.copy:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/graph/Graph;
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 5
start local 5 4: new org.graalvm.compiler.phases.BasePhase$GraphChangeListener
dup
aload 0
aload 5
invokespecial org.graalvm.compiler.phases.BasePhase$GraphChangeListener.<init>:(Lorg/graalvm/compiler/phases/BasePhase;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
astore 6
start local 6 5: aconst_null
astore 7
aconst_null
astore 8
6: aload 5
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
astore 9
start local 9 7: aconst_null
astore 10
aconst_null
astore 11
8: aload 3
ldc "GraphChangeListener"
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.debug.DebugContext.sandbox:(Ljava/lang/CharSequence;Lorg/graalvm/compiler/debug/DebugConfig;[Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 12
start local 12 9: aload 0
aload 5
aload 2
invokevirtual org.graalvm.compiler.phases.BasePhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
10: aload 12
ifnull 18
aload 12
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 18
StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object org.graalvm.compiler.debug.DebugContext java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.BasePhase$GraphChangeListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
11: astore 10
aload 12
ifnull 12
aload 12
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 12 StackMap locals:
StackMap stack:
12: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 11
aload 10
ifnonnull 14
aload 11
astore 10
goto 15
StackMap locals:
StackMap stack:
14: aload 10
aload 11
if_acmpeq 15
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 10
athrow
StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object org.graalvm.compiler.debug.DebugContext java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.BasePhase$GraphChangeListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope
StackMap stack: java.lang.Throwable
16: astore 10
start local 10 17: aload 3
aload 10
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
pop
end local 10 18: StackMap locals:
StackMap stack:
aload 9
ifnull 24
aload 9
invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 7
aload 9
ifnull 20
aload 9
invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
end local 9 StackMap locals:
StackMap stack:
20: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 8
aload 7
ifnonnull 22
aload 8
astore 7
goto 23
StackMap locals:
StackMap stack:
22: aload 7
aload 8
if_acmpeq 23
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 7
athrow
24: StackMap locals:
StackMap stack:
aload 6
getfield org.graalvm.compiler.phases.BasePhase$GraphChangeListener.changed:Z
ireturn
end local 6 end local 5 25: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
0 26 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 26 2 context TC;
1 26 3 debug Lorg/graalvm/compiler/debug/DebugContext;
2 26 4 phaseChange Ljava/lang/String;
4 25 5 graphCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
5 25 6 listener Lorg/graalvm/compiler/phases/BasePhase<TC;>.GraphChangeListener;
7 20 9 s Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
9 12 12 s2 Lorg/graalvm/compiler/debug/DebugContext$Scope;
17 18 10 t Ljava/lang/Throwable;
Exception table:
from to target type
9 10 11 any
8 13 13 any
7 16 16 Class java.lang.Throwable
7 18 19 any
6 21 21 any
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;)Z
MethodParameters:
Name Flags
graph
context
protected java.lang.CharSequence getName();
descriptor: ()Ljava/lang/CharSequence;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.graalvm.compiler.phases.ClassTypeSequence
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokespecial org.graalvm.compiler.phases.ClassTypeSequence.<init>:(Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
protected abstract void run(org.graalvm.compiler.nodes.StructuredGraph, );
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;)V
MethodParameters:
Name Flags
graph
context
public java.lang.String contractorName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
public float codeSizeIncrease();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc 1.25
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/BasePhase<TC;>;
}
Signature: <C:Ljava/lang/Object;>Ljava/lang/Object;Lorg/graalvm/compiler/phases/contract/PhaseSizeContract;
SourceFile: "BasePhase.java"
NestMembers:
org.graalvm.compiler.phases.BasePhase$1 org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics org.graalvm.compiler.phases.BasePhase$GraphChangeListener org.graalvm.compiler.phases.BasePhase$NamePatternHolder org.graalvm.compiler.phases.BasePhase$PhaseOptions
InnerClasses:
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
public abstract NodeEventListener = org.graalvm.compiler.graph.Graph$NodeEventListener of org.graalvm.compiler.graph.Graph
public final NodeEventScope = org.graalvm.compiler.graph.Graph$NodeEventScope of org.graalvm.compiler.graph.Graph
org.graalvm.compiler.phases.BasePhase$1
public BasePhaseStatistics = org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics of org.graalvm.compiler.phases.BasePhase
private final GraphChangeListener = org.graalvm.compiler.phases.BasePhase$GraphChangeListener of org.graalvm.compiler.phases.BasePhase
NamePatternHolder = org.graalvm.compiler.phases.BasePhase$NamePatternHolder of org.graalvm.compiler.phases.BasePhase
public PhaseOptions = org.graalvm.compiler.phases.BasePhase$PhaseOptions of org.graalvm.compiler.phases.BasePhase