public final class org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase extends org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase<org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase
super_class: org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase
{
private static final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanRegisterAllocationPhase TRACE_LINEAR_SCAN_REGISTER_ALLOCATION_PHASE;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanRegisterAllocationPhase;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase TRACE_LINEAR_SCAN_ASSIGN_LOCATIONS_PHASE;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanEliminateSpillMovePhase TRACE_LINEAR_SCAN_ELIMINATE_SPILL_MOVE_PHASE;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanEliminateSpillMovePhase;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanResolveDataFlowPhase TRACE_LINEAR_SCAN_RESOLVE_DATA_FLOW_PHASE;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanResolveDataFlowPhase;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase TRACE_LINEAR_SCAN_LIFETIME_ANALYSIS_PHASE;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int DOMINATOR_SPILL_MOVE_ID;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -2
private final org.graalvm.compiler.lir.framemap.FrameMapBuilder frameMapBuilder;
descriptor: Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterAttributes[] registerAttributes;
descriptor: [Ljdk/vm/ci/code/RegisterAttributes;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray registers;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig regAllocConfig;
descriptor: Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory moveFactory;
descriptor: Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final org.graalvm.compiler.core.common.alloc.TraceBuilderResult traceBuilderResult;
descriptor: Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final boolean neverSpillConstants;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.meta.AllocatableValue[] cachedStackSlots;
descriptor: [Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.lir.gen.LIRGenerationResult res;
descriptor: Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate IS_PRECOLORED_INTERVAL;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate IS_VARIABLE_INTERVAL;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate IS_STACK_INTERVAL;
descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;
flags: (0x0018) ACC_STATIC, 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=2, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
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.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
3: new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanRegisterAllocationPhase
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanRegisterAllocationPhase.<init>:()V
putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_REGISTER_ALLOCATION_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanRegisterAllocationPhase;
4: new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase.<init>:()V
putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_ASSIGN_LOCATIONS_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase;
5: new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanEliminateSpillMovePhase
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanEliminateSpillMovePhase.<init>:()V
putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_ELIMINATE_SPILL_MOVE_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanEliminateSpillMovePhase;
6: new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanResolveDataFlowPhase
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanResolveDataFlowPhase.<init>:()V
putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_RESOLVE_DATA_FLOW_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanResolveDataFlowPhase;
7: new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase.<init>:()V
putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_LIFETIME_ANALYSIS_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase;
8: new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$1
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$1.<init>:()V
putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.IS_PRECOLORED_INTERVAL:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;
9: new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$2
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$2.<init>:()V
putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.IS_VARIABLE_INTERVAL:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;
10: new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$3
dup
invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$3.<init>:()V
putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.IS_STACK_INTERVAL:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;
11: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory, org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig, org.graalvm.compiler.core.common.alloc.TraceBuilderResult, boolean, jdk.vm.ci.meta.AllocatableValue[]);
descriptor: (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;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Z[Ljdk/vm/ci/meta/AllocatableValue;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase.<init>:()V
1: aload 0
aload 2
putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
2: aload 0
aload 3
putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
3: aload 0
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
4: aload 0
aload 4
invokevirtual org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
invokeinterface jdk.vm.ci.code.RegisterConfig.getAttributesMap:()[Ljdk/vm/ci/code/RegisterAttributes;
putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.registerAttributes:[Ljdk/vm/ci/code/RegisterAttributes;
5: aload 0
aload 4
putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.regAllocConfig:Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
6: aload 0
aload 1
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokevirtual jdk.vm.ci.code.Architecture.getRegisters:()Ljdk/vm/ci/code/RegisterArray;
putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.registers:Ljdk/vm/ci/code/RegisterArray;
7: aload 0
aload 5
putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
8: aload 0
iload 6
putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.neverSpillConstants:Z
9: aload 0
aload 7
putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.cachedStackSlots:[Ljdk/vm/ci/meta/AllocatableValue;
10: return
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 11 0 this Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
0 11 1 target Ljdk/vm/ci/code/TargetDescription;
0 11 2 res Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 11 3 spillMoveFactory Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
0 11 4 regAllocConfig Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
0 11 5 traceBuilderResult Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
0 11 6 neverSpillConstants Z
0 11 7 cachedStackSlots [Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
target
res
spillMoveFactory
regAllocConfig
traceBuilderResult
neverSpillConstants
cachedStackSlots
public static boolean isVariableOrRegister(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifne 1
aload 0
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 value Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
value
public org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan createAllocator(org.graalvm.compiler.core.common.alloc.Trace);
descriptor: (Lorg/graalvm/compiler/core/common/alloc/Trace;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan
dup
aload 0
aload 1
invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;Lorg/graalvm/compiler/core/common/alloc/Trace;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
0 1 1 trace Lorg/graalvm/compiler/core/common/alloc/Trace;
MethodParameters:
Name Flags
trace
protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.core.common.alloc.Trace, org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext);
descriptor: (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
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.createAllocator:(Lorg/graalvm/compiler/core/common/alloc/Trace;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
aload 1
aload 2
aload 4
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.allocate:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
0 2 1 target Ljdk/vm/ci/code/TargetDescription;
0 2 2 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 2 3 trace Lorg/graalvm/compiler/core/common/alloc/Trace;
0 2 4 traceContext Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;
MethodParameters:
Name Flags
target
lirGenRes
trace
traceContext
private static <T extends org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint> boolean isSortedByFrom();
descriptor: ([Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_m1
istore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] int top int int org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 4
aload 2
ifnonnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] int org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint int int org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[]
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 5
iload 1
aload 2
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.from:()I
if_icmple 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.from:()I
istore 1
end local 2 6: iinc 3 1
StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] int top int int org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[]
StackMap stack:
7: iload 3
iload 4
if_icmplt 2
8: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 intervals [Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
1 9 1 from I
3 6 2 interval TT;
Signature: <T:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;>([TT;)Z
MethodParameters:
Name Flags
intervals
private static boolean isSortedBySpillPos(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]);
descriptor: ([Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_m1
istore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] int top int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 4
aload 2
ifnonnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 5
iload 1
aload 2
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:()I
if_icmple 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:()I
istore 1
end local 2 6: iinc 3 1
StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] int top int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
StackMap stack:
7: iload 3
iload 4
if_icmplt 2
8: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 intervals [Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
1 9 1 from I
3 6 2 interval Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
MethodParameters:
Name Flags
intervals
private static <T extends org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint> T[] sortIntervalsBeforeAllocation(T[], );
descriptor: ([Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;[Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;)[Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_m1
istore 3
start local 3 2: aload 0
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 18
StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] int int top int int org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 4
ifnull 17
5: aload 4
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.from:()I
istore 8
start local 8 6: iload 3
iload 8
if_icmpgt 10
7: aload 1
iload 2
iinc 2 1
aload 4
aastore
8: aload 4
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.from:()I
istore 3
9: goto 17
10: StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] int int org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint int int org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] int
StackMap stack:
iload 2
iconst_1
isub
istore 9
start local 9 11: goto 14
12: StackMap locals: int
StackMap stack:
aload 1
iload 9
iconst_1
iadd
aload 1
iload 9
aaload
aastore
13: iinc 9 -1
StackMap locals:
StackMap stack:
14: iload 9
iflt 15
iload 8
aload 1
iload 9
aaload
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.from:()I
if_icmplt 12
15: StackMap locals:
StackMap stack:
aload 1
iload 9
iconst_1
iadd
aload 4
aastore
16: iinc 2 1
end local 9 end local 8 end local 4 17: StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[] int int top int int org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
iload 6
if_icmplt 3
19: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 intervals [Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
0 20 1 sortedList [Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
1 20 2 sortedIdx I
2 20 3 sortedFromMax I
4 17 4 interval TT;
6 17 8 from I
11 17 9 j I
Signature: <T:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;>([TT;[TT;)[TT;
MethodParameters:
Name Flags
intervals
sortedList
public static boolean verifyEquals(org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan, org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan);
descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.compareFixed:([Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.compareIntervals:([Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
0 3 1 b Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
MethodParameters:
Name Flags
a
b
private static boolean compareIntervals(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[], org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]);
descriptor: ([Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 8
2: StackMap locals: int
StackMap stack:
iload 2
aload 0
arraylength
if_icmplt 4
3: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 7
aload 1
iload 2
aaload
ifnull 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "missing a interval: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " b: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
iload 2
aaload
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:
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 6
5: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 7
aload 0
iload 2
aaload
ifnull 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "missing b interval: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " a: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iload 2
aaload
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
6: StackMap locals:
StackMap stack:
aload 0
iload 2
aaload
aload 1
iload 2
aaload
invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.compareInterval:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)V
7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
arraylength
aload 1
arraylength
invokestatic java.lang.Math.max:(II)I
if_icmplt 2
end local 2 9: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 a [Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
0 10 1 b [Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
1 9 2 i I
MethodParameters:
Name Flags
a
b
private static void compareInterval(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 3
1: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 2
aload 1
ifnull 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "First interval is null but second is: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 4
aload 1
ifnonnull 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Second interval is null but forst is: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 5
aload 0
getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
aload 1
getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual jdk.vm.ci.meta.AllocatableValue.equals:(Ljava/lang/Object;)Z
ifne 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Operand mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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
5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 6
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
if_icmpeq 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "From mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 7
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
if_icmpeq 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "To mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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
7: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 8
aload 0
aload 1
invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.verifyIntervalsEquals:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 a Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
0 9 1 b Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
MethodParameters:
Name Flags
a
b
private static boolean verifyIntervalsEquals(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 11
2: StackMap locals: int
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 3
iload 2
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
if_icmplt 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "missing a usepos: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " b: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 4
iload 2
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
if_icmplt 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "missing b usepos: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " a: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
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:
StackMap stack:
aload 0
iload 2
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
istore 3
start local 3 5: aload 1
iload 2
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
istore 4
start local 4 6: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 7
iload 3
iload 4
if_icmpeq 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Use Positions differ: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
astore 5
start local 5 8: aload 1
iload 2
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
astore 6
start local 6 9: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 10
aload 5
aload 6
if_acmpeq 10
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Register priority differ: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
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 6 end local 5 end local 4 end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
invokestatic java.lang.Math.max:(II)I
if_icmplt 2
end local 2 12: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 a Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
0 13 1 b Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
1 12 2 i I
5 10 3 aPos I
6 10 4 bPos I
8 10 5 aReg Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
9 10 6 bReg Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
MethodParameters:
Name Flags
a
b
private static boolean compareFixed(org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[], org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]);
descriptor: ([Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 8
2: StackMap locals: int
StackMap stack:
iload 2
aload 0
arraylength
if_icmplt 4
3: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 7
aload 1
iload 2
aaload
ifnull 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "missing a interval: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " b: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
iload 2
aaload
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:
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 6
5: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 7
aload 0
iload 2
aaload
ifnull 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "missing b interval: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " a: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iload 2
aaload
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
6: StackMap locals:
StackMap stack:
aload 0
iload 2
aaload
aload 1
iload 2
aaload
invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.compareFixedInterval:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)V
7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
arraylength
aload 1
arraylength
invokestatic java.lang.Math.max:(II)I
if_icmplt 2
end local 2 9: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 a [Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
0 10 1 b [Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
1 9 2 i I
MethodParameters:
Name Flags
a
b
private static void compareFixedInterval(org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval, org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval);
descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 3
1: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 2
aload 1
ifnull 2
aload 1
invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.isEmptyInterval:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)Z
ifne 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "First interval is null but second is: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 1
ifnonnull 6
4: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 5
aload 0
invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.isEmptyInterval:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)Z
ifne 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Second interval is null but first is: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
5: StackMap locals:
StackMap stack:
return
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 7
aload 0
getfield org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
aload 1
getfield org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual jdk.vm.ci.meta.AllocatableValue.equals:(Ljava/lang/Object;)Z
ifne 7
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Operand mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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
7: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 8
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.from:()I
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.from:()I
if_icmpeq 8
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "From mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 9
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.to:()I
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.to:()I
if_icmpeq 9
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "To mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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
9: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 10
aload 0
aload 1
invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.verifyFixeEquas:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 a Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
0 11 1 b Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
MethodParameters:
Name Flags
a
b
private static boolean verifyFixeEquas(org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval, org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval);
descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.rewindRange:()V
1: aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.rewindRange:()V
2: goto 8
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 4
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentAtEnd:()Z
ifeq 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Fixed range mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 5
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentFrom:()I
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentFrom:()I
if_icmpeq 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "From range mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " from: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentFrom:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentFrom:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 6
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentTo:()I
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentTo:()I
if_icmpeq 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "To range mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " from: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentTo:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentTo:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.nextRange:()V
7: aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.nextRange:()V
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentAtEnd:()Z
ifeq 3
9: getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 10
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.currentAtEnd:()Z
ifne 10
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Fixed range mismatch: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " vs. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 a Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
0 11 1 b Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
MethodParameters:
Name Flags
a
b
private static boolean isEmptyInterval(org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval);
descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.from:()I
iconst_m1
if_icmpne 1
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.to:()I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fixed Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
MethodParameters:
Name Flags
fixed
private static void printFixedInterval(org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval, org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor);
descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
astore 3
start local 3 2: ldc "fixed"
astore 4
start local 4 3: aload 1
aload 3
aload 3
aload 3
aload 2
aload 4
invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitIntervalStart:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljava/lang/String;)V
4: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.first:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedRange;
astore 5
start local 5 5: goto 8
6: StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor jdk.vm.ci.meta.Value jdk.vm.ci.meta.AllocatableValue java.lang.String org.graalvm.compiler.lir.alloc.trace.lsra.FixedRange
StackMap stack:
aload 1
aload 5
getfield org.graalvm.compiler.lir.alloc.trace.lsra.FixedRange.from:I
aload 5
getfield org.graalvm.compiler.lir.alloc.trace.lsra.FixedRange.to:I
invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitRange:(II)V
7: aload 5
getfield org.graalvm.compiler.lir.alloc.trace.lsra.FixedRange.next:Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedRange;
astore 5
StackMap locals:
StackMap stack:
8: aload 5
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.FixedRange.EndMarker:Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedRange;
if_acmpne 6
end local 5 9: aload 1
ldc "NOT_SUPPORTED"
invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitIntervalEnd:(Ljava/lang/Object;)V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 interval Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
0 11 1 visitor Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;
1 11 2 hint Ljdk/vm/ci/meta/Value;
2 11 3 operand Ljdk/vm/ci/meta/AllocatableValue;
3 11 4 type Ljava/lang/String;
5 9 5 range Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedRange;
MethodParameters:
Name Flags
interval
visitor
private static void printInterval(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor);
descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
ifnull 1
aload 0
iconst_0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.location:()Ljdk/vm/ci/meta/AllocatableValue;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: jdk.vm.ci.meta.AllocatableValue
2: astore 2
start local 2 3: aload 0
getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
astore 3
start local 3 4: aload 3
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 5
ldc "fixed"
goto 6
StackMap locals: jdk.vm.ci.meta.Value jdk.vm.ci.meta.AllocatableValue
StackMap stack:
5: aload 3
invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
6: astore 4
start local 4 7: aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
aload 3
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
aload 2
aload 4
invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitIntervalStart:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljava/lang/String;)V
8: aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitRange:(II)V
9: iconst_m1
istore 5
start local 5 10: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
iconst_1
isub
istore 6
start local 6 11: goto 16
12: StackMap locals: java.lang.String int int
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.$assertionsDisabled:Z
ifne 13
iload 5
aload 0
iload 6
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
if_icmplt 13
new java.lang.AssertionError
dup
ldc "use positions not sorted"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 6
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
aload 0
iload 6
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitUsePos:(ILjava/lang/Object;)V
14: aload 0
iload 6
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
istore 5
15: iinc 6 -1
StackMap locals:
StackMap stack:
16: iload 6
ifge 12
end local 6 17: aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitIntervalEnd:(Ljava/lang/Object;)V
18: 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 19 0 interval Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
0 19 1 visitor Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;
3 19 2 hint Ljdk/vm/ci/meta/Value;
4 19 3 operand Ljdk/vm/ci/meta/AllocatableValue;
7 19 4 type Ljava/lang/String;
10 19 5 prev I
11 17 6 i I
MethodParameters:
Name Flags
interval
visitor
}
Signature: Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase<Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;>;
SourceFile: "TraceLinearScanPhase.java"
NestMembers:
org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$1 org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$2 org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$3 org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$Options org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan$CheckConsumer
InnerClasses:
public TraceAllocationContext = org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext of org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase
public final RegisterPriority = org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority of org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
public final SpillState = org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState of org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$1
org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$2
org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$3
abstract IntervalPredicate = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase
public Options = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$Options of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase
public final TraceLinearScan = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase
public abstract IntervalVisitor = org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor of org.graalvm.compiler.lir.debug.IntervalDumper
public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool