public final class org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase extends org.graalvm.compiler.lir.alloc.RegisterAllocationPhase
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase
super_class: org.graalvm.compiler.lir.alloc.RegisterAllocationPhase
{
private static final org.graalvm.compiler.debug.CounterKey tracesCounter;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final org.graalvm.compiler.debug.CounterKey globalStackSlots;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.graalvm.compiler.debug.CounterKey allocatedStackSlots;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final org.graalvm.compiler.lir.alloc.trace.TraceBuilderPhase traceBuilder;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/TraceBuilderPhase;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.lir.alloc.trace.GlobalLivenessAnalysisPhase livenessAnalysis;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessAnalysisPhase;
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/lir/alloc/trace/TraceRegisterAllocationPhase;
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.lir.alloc.trace.TraceRegisterAllocationPhase.$assertionsDisabled:Z
3: ldc "TraceRA[traces]"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.tracesCounter:Lorg/graalvm/compiler/debug/CounterKey;
4: ldc "TraceRA[GlobalStackSlots]"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.globalStackSlots:Lorg/graalvm/compiler/debug/CounterKey;
5: ldc "TraceRA[AllocatedStackSlots]"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.allocatedStackSlots:Lorg/graalvm/compiler/debug/CounterKey;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.lir.alloc.RegisterAllocationPhase.<init>:()V
1: aload 0
new org.graalvm.compiler.lir.alloc.trace.TraceBuilderPhase
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.TraceBuilderPhase.<init>:()V
putfield org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.traceBuilder:Lorg/graalvm/compiler/lir/alloc/trace/TraceBuilderPhase;
2: aload 0
new org.graalvm.compiler.lir.alloc.trace.GlobalLivenessAnalysisPhase
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.GlobalLivenessAnalysisPhase.<init>:()V
putfield org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.livenessAnalysis:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessAnalysisPhase;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPhase;
protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext);
descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=24, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.traceBuilder:Lorg/graalvm/compiler/lir/alloc/trace/TraceBuilderPhase;
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceBuilderPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
1: aload 0
getfield org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.livenessAnalysis:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessAnalysisPhase;
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessAnalysisPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
2: aload 3
getfield org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
astore 4
start local 4 3: aload 3
getfield org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext.registerAllocationConfig:Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
astore 5
start local 5 4: aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
astore 6
start local 6 5: aload 6
invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 7
start local 7 6: aload 3
ldc Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
invokevirtual org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext.contextLookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.alloc.TraceBuilderResult
astore 8
start local 8 7: aload 3
ldc Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
invokevirtual org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext.contextLookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo
astore 9
start local 9 8: getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.$assertionsDisabled:Z
ifne 9
aload 9
ifnonnull 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.lir.LIR org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.alloc.TraceBuilderResult org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo
StackMap stack:
new org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext
dup
aload 4
aload 5
aload 8
aload 9
invokespecial org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;)V
astore 10
start local 10 10: getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase$Options.TraceRACacheStackSlots:Lorg/graalvm/compiler/options/OptionKey;
aload 6
invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
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 11
aload 6
invokevirtual org.graalvm.compiler.lir.LIR.numVariables:()I
anewarray jdk.vm.ci.meta.AllocatableValue
goto 12
StackMap locals: org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext
StackMap stack:
11: aconst_null
StackMap locals:
StackMap stack: jdk.vm.ci.meta.AllocatableValue[]
12: astore 11
start local 11 13: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.getNeverSpillConstants:()Z
istore 12
start local 12 14: getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.$assertionsDisabled:Z
ifne 15
iload 12
ifeq 15
new java.lang.AssertionError
dup
ldc "currently this is not supported"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
15: StackMap locals: jdk.vm.ci.meta.AllocatableValue[] int
StackMap stack:
aload 1
aload 2
aload 4
aload 5
aload 11
aload 8
16: iload 12
aload 9
aload 6
invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
17: invokestatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy.allocationPolicy:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;[Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;ZLorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;
astore 13
start local 13 18: aconst_null
astore 14
aconst_null
astore 15
19: aload 7
ldc "AllocateTraces"
aload 8
aload 9
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 16
start local 16 20: aload 8
invokevirtual org.graalvm.compiler.core.common.alloc.TraceBuilderResult.getTraces:()Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 18
goto 39
StackMap locals: org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.lir.LIR org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.alloc.TraceBuilderResult org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext jdk.vm.ci.meta.AllocatableValue[] int org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope top java.util.Iterator
StackMap stack:
21: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.alloc.Trace
astore 17
start local 17 22: getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.tracesCounter:Lorg/graalvm/compiler/debug/CounterKey;
aload 7
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
23: aload 13
aload 17
invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy.selectStrategy:(Lorg/graalvm/compiler/core/common/alloc/Trace;)Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase;
astore 19
start local 19 24: aconst_null
astore 20
aconst_null
astore 21
25: aload 7
ldc "Allocating Trace%d: %s (%s)"
aload 17
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 17
aload 19
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 22
start local 22 26: aload 7
ldc "AllocateTrace"
aload 17
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 23
start local 23 27: aload 19
aload 1
aload 2
aload 17
aload 10
invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;)V
28: aload 23
ifnull 31
aload 23
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 31
StackMap locals: org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.lir.LIR org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.alloc.TraceBuilderResult org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext jdk.vm.ci.meta.AllocatableValue[] int org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.core.common.alloc.Trace java.util.Iterator org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
29: astore 20
aload 23
ifnull 30
aload 23
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 23 StackMap locals:
StackMap stack:
30: aload 20
athrow
StackMap locals:
StackMap stack:
31: aload 22
ifnull 39
aload 22
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 39
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 21
aload 20
ifnonnull 33
aload 21
astore 20
goto 34
StackMap locals:
StackMap stack:
33: aload 20
aload 21
if_acmpeq 34
aload 20
aload 21
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
34: aload 22
ifnull 35
aload 22
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 22 StackMap locals:
StackMap stack:
35: aload 20
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
36: astore 21
aload 20
ifnonnull 37
aload 21
astore 20
goto 38
StackMap locals:
StackMap stack:
37: aload 20
aload 21
if_acmpeq 38
aload 20
aload 21
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
38: aload 20
athrow
end local 19 end local 17 39: StackMap locals: org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.lir.LIR org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.alloc.TraceBuilderResult org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext jdk.vm.ci.meta.AllocatableValue[] int org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
40: aload 16
ifnull 48
aload 16
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 48
StackMap locals: org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.lir.LIR org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.alloc.TraceBuilderResult org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext jdk.vm.ci.meta.AllocatableValue[] int org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
41: astore 14
aload 16
ifnull 42
aload 16
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 16 StackMap locals:
StackMap stack:
42: aload 14
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 15
aload 14
ifnonnull 44
aload 15
astore 14
goto 45
StackMap locals:
StackMap stack:
44: aload 14
aload 15
if_acmpeq 45
aload 14
aload 15
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
45: aload 14
athrow
StackMap locals: org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.lir.LIR org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.core.common.alloc.TraceBuilderResult org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext jdk.vm.ci.meta.AllocatableValue[] int org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy
StackMap stack: java.lang.Throwable
46: astore 14
start local 14 47: aload 7
aload 14
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 14 48: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 10
invokestatic org.graalvm.compiler.lir.alloc.trace.TraceGlobalMoveResolutionPhase.resolve:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;)V
49: aload 6
invokestatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.deconstructSSAForm:(Lorg/graalvm/compiler/lir/LIR;)V
50: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 51 0 this Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPhase;
0 51 1 target Ljdk/vm/ci/code/TargetDescription;
0 51 2 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 51 3 context Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;
3 51 4 spillMoveFactory Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
4 51 5 registerAllocationConfig Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
5 51 6 lir Lorg/graalvm/compiler/lir/LIR;
6 51 7 debug Lorg/graalvm/compiler/debug/DebugContext;
7 51 8 resultTraces Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
8 51 9 livenessInfo Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
10 51 10 traceContext Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;
13 51 11 cachedStackSlots [Ljdk/vm/ci/meta/AllocatableValue;
14 51 12 neverSpillConstant Z
18 51 13 plan Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;
20 42 16 s0 Lorg/graalvm/compiler/debug/DebugContext$Scope;
22 39 17 trace Lorg/graalvm/compiler/core/common/alloc/Trace;
24 39 19 allocator Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase<Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;>;
26 35 22 i Lorg/graalvm/compiler/debug/Indent;
27 30 23 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
47 48 14 e Ljava/lang/Throwable;
Exception table:
from to target type
27 28 29 any
26 31 32 any
25 36 36 any
20 40 41 any
19 43 43 any
18 46 46 Class java.lang.Throwable
MethodParameters:
Name Flags
target
lirGenRes
context
private static void deconstructSSAForm(org.graalvm.compiler.lir.LIR);
descriptor: (Lorg/graalvm/compiler/lir/LIR;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 10
StackMap locals: org.graalvm.compiler.lir.LIR top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.isMerge:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifeq 9
3: aload 0
aload 1
invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiIn:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.clearIncomingValues:()V
4: aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5
start local 5 6: aload 0
aload 5
invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiOut:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
invokevirtual org.graalvm.compiler.lir.StandardOp$JumpOp.clearOutgoingValues:()V
end local 5 7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 5
end local 1 9: StackMap locals: org.graalvm.compiler.lir.LIR top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
iload 3
if_icmplt 1
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 lir Lorg/graalvm/compiler/lir/LIR;
2 9 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
6 7 5 pred Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
MethodParameters:
Name Flags
lir
protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, java.lang.Object);
descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
checkcast org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext
invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.run:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "TraceRegisterAllocationPhase.java"
NestMembers:
org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase$Options
InnerClasses:
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public JumpOp = org.graalvm.compiler.lir.StandardOp$JumpOp of org.graalvm.compiler.lir.StandardOp
public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
public TraceAllocationContext = org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext of org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase
public Options = org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase$Options of org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase
public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool
public final AllocationContext = org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext of org.graalvm.compiler.lir.phases.AllocationPhase