public class org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase extends org.graalvm.compiler.lir.phases.AllocationPhase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase
super_class: org.graalvm.compiler.lir.phases.AllocationPhase
{
protected final org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator;
descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private org.graalvm.compiler.core.common.util.BitMap2D intervalInLoop;
descriptor: Lorg/graalvm/compiler/core/common/util/BitMap2D;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$lir$alloc$lsra$Interval$SpillState;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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/lsra/LinearScanLifetimeAnalysisPhase;
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.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.graalvm.compiler.lir.alloc.lsra.LinearScan);
descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.graalvm.compiler.lir.phases.AllocationPhase.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 3 1 linearScan Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
MethodParameters:
Name Flags
linearScan
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=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.numberInstructions:()V
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
ldc "Before register allocation"
iconst_1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.printLir:(Ljava/lang/String;Z)V
2: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.computeLocalLiveSets:()V
3: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.computeGlobalLiveSets:()V
4: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.buildIntervals:()V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 6 1 target Ljdk/vm/ci/code/TargetDescription;
0 6 2 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 6 3 context Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;
MethodParameters:
Name Flags
target
lirGenRes
context
boolean isIntervalInLoop(int, int);
descriptor: (II)Z
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.intervalInLoop:Lorg/graalvm/compiler/core/common/util/BitMap2D;
iload 1
iload 2
invokevirtual org.graalvm.compiler.core.common.util.BitMap2D.at:(II)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 1 1 interval I
0 1 2 loop I
MethodParameters:
Name Flags
interval
loop
protected void numberInstructions();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=13, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.initIntervals:()V
1: aload 0
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;)Lorg/graalvm/compiler/lir/ValueConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$0(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase org.graalvm.compiler.lir.ValueConsumer int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: iload 2
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 3
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iadd
istore 2
end local 3 6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 4
8: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 2
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.initOpIdMaps:(I)V
9: iconst_0
istore 3
start local 3 10: iconst_0
istore 4
start local 4 11: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 29
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase org.graalvm.compiler.lir.ValueConsumer int int int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
12: aload 8
iload 6
aaload
astore 5
start local 5 13: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.initBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
14: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 5
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 9
start local 9 15: aload 9
invokeinterface java.util.List.size:()I
istore 10
start local 10 16: iconst_0
istore 11
start local 11 17: goto 27
18: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase org.graalvm.compiler.lir.ValueConsumer int int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.util.List int int
StackMap stack:
aload 9
iload 11
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 12
start local 12 19: aload 12
iload 3
invokevirtual org.graalvm.compiler.lir.LIRInstruction.setId:(I)V
20: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 4
aload 12
aload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.putOpIdMaps:(ILorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
21: getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 22
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.instructionForId:(I)Lorg/graalvm/compiler/lir/LIRInstruction;
aload 12
if_acmpeq 22
new java.lang.AssertionError
dup
ldc "must match"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
22: StackMap locals: org.graalvm.compiler.lir.LIRInstruction
StackMap stack:
aload 12
aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachTemp:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
23: aload 12
aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachOutput:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
24: iinc 4 1
25: iinc 3 2
end local 12 26: iinc 11 1
StackMap locals:
StackMap stack:
27: iload 11
iload 10
if_icmplt 18
end local 11 end local 10 end local 9 end local 5 28: iinc 6 1
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase org.graalvm.compiler.lir.ValueConsumer int int int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
29: iload 6
iload 7
if_icmplt 12
30: getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 31
iload 4
iload 2
if_icmpeq 31
new java.lang.AssertionError
dup
ldc "must match"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
31: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase org.graalvm.compiler.lir.ValueConsumer int int int
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 32
iload 4
iconst_1
ishl
iload 3
if_icmpeq 32
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "must match: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
iconst_1
ishl
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
32: 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 33 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
2 33 1 setVariableConsumer Lorg/graalvm/compiler/lir/ValueConsumer;
3 33 2 numInstructions I
5 6 3 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
10 33 3 opId I
11 33 4 index I
13 28 5 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
15 28 9 instructions Ljava/util/List<Lorg/graalvm/compiler/lir/LIRInstruction;>;
16 28 10 numInst I
17 28 11 j I
19 26 12 op Lorg/graalvm/compiler/lir/LIRInstruction;
void computeLocalLiveSets();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=21, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.liveSetSize:()I
istore 1
start local 1 1: aload 0
new org.graalvm.compiler.core.common.util.BitMap2D
dup
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.operandSize:()I
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.numLoops:()I
invokespecial org.graalvm.compiler.core.common.util.BitMap2D.<init>:(II)V
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.intervalInLoop:Lorg/graalvm/compiler/core/common/util/BitMap2D;
2: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 46
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aconst_null
astore 6
aconst_null
astore 7
5: ldc "compute local live sets for block %s"
aload 2
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 8
start local 8 6: new java.util.BitSet
dup
iload 1
invokespecial java.util.BitSet.<init>:(I)V
astore 9
start local 9 7: new java.util.BitSet
dup
iload 1
invokespecial java.util.BitSet.<init>:(I)V
astore 10
start local 10 8: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 2
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 11
start local 11 9: aload 11
invokeinterface java.util.List.size:()I
istore 12
start local 12 10: aload 0
aload 10
aload 9
aload 2
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;Ljava/util/BitSet;Ljava/util/BitSet;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/ValueConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$1(Ljava/util/BitSet;Ljava/util/BitSet;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
astore 13
start local 13 11: aload 0
aload 10
aload 9
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;Ljava/util/BitSet;Ljava/util/BitSet;)Lorg/graalvm/compiler/lir/ValueConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$2(Ljava/util/BitSet;Ljava/util/BitSet;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
astore 14
start local 14 12: aload 0
aload 10
aload 2
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;Ljava/util/BitSet;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/ValueConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$3(Ljava/util/BitSet;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
astore 15
start local 15 13: iconst_0
istore 16
start local 16 14: goto 30
15: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet java.util.BitSet java.util.List int org.graalvm.compiler.lir.ValueConsumer org.graalvm.compiler.lir.ValueConsumer org.graalvm.compiler.lir.ValueConsumer int
StackMap stack:
aload 11
iload 16
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 17
start local 17 16: aconst_null
astore 18
aconst_null
astore 19
17: ldc "handle op %d: %s"
aload 17
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
aload 17
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;ILjava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 20
start local 20 18: aload 17
aload 13
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachInput:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
19: aload 17
aload 13
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachAlive:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
20: aload 17
aload 14
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachState:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
21: aload 17
aload 15
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachTemp:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
22: aload 17
aload 15
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachOutput:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
23: aload 20
ifnull 29
aload 20
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 29
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet java.util.BitSet java.util.List int org.graalvm.compiler.lir.ValueConsumer org.graalvm.compiler.lir.ValueConsumer org.graalvm.compiler.lir.ValueConsumer int org.graalvm.compiler.lir.LIRInstruction java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
24: astore 18
aload 20
ifnull 25
aload 20
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 20 StackMap locals:
StackMap stack:
25: aload 18
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 19
aload 18
ifnonnull 27
aload 19
astore 18
goto 28
StackMap locals:
StackMap stack:
27: aload 18
aload 19
if_acmpeq 28
aload 18
aload 19
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
28: aload 18
athrow
end local 17 29: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
30: iload 16
iload 12
if_icmplt 15
end local 16 31: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 2
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
astore 16
start local 16 32: aload 16
aload 9
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveGen:Ljava/util/BitSet;
33: aload 16
aload 10
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveKill:Ljava/util/BitSet;
34: aload 16
new java.util.BitSet
dup
iload 1
invokespecial java.util.BitSet.<init>:(I)V
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveIn:Ljava/util/BitSet;
35: aload 16
new java.util.BitSet
dup
iload 1
invokespecial java.util.BitSet.<init>:(I)V
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
36: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 39
37: ldc "liveGen B%d %s"
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
aload 16
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveGen:Ljava/util/BitSet;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;ILjava/lang/Object;)V
38: ldc "liveKill B%d %s"
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
aload 16
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveKill:Ljava/util/BitSet;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;ILjava/lang/Object;)V
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 39: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack:
aload 8
ifnull 45
aload 8
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 45
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 6
aload 8
ifnull 41
aload 8
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 8 StackMap locals:
StackMap stack:
41: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 7
aload 6
ifnonnull 43
aload 7
astore 6
goto 44
StackMap locals:
StackMap stack:
43: aload 6
aload 7
if_acmpeq 44
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
44: aload 6
athrow
end local 2 45: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
46: iload 3
iload 4
if_icmplt 3
47: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
1 48 1 liveSize I
4 45 2 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
6 41 8 indent Lorg/graalvm/compiler/debug/Indent;
7 39 9 liveGen Ljava/util/BitSet;
8 39 10 liveKill Ljava/util/BitSet;
9 39 11 instructions Ljava/util/List<Lorg/graalvm/compiler/lir/LIRInstruction;>;
10 39 12 numInst I
11 39 13 useConsumer Lorg/graalvm/compiler/lir/ValueConsumer;
12 39 14 stateConsumer Lorg/graalvm/compiler/lir/ValueConsumer;
13 39 15 defConsumer Lorg/graalvm/compiler/lir/ValueConsumer;
14 31 16 j I
16 29 17 op Lorg/graalvm/compiler/lir/LIRInstruction;
18 25 20 indent2 Lorg/graalvm/compiler/debug/Indent;
32 39 16 blockSets Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
Exception table:
from to target type
18 23 24 any
17 26 26 any
6 39 40 any
5 42 42 any
private void verifyTemp(java.util.BitSet, jdk.vm.ci.meta.Value);
descriptor: (Ljava/util/BitSet;Ljdk/vm/ci/meta/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 3
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 2
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.isProcessed:(Ljdk/vm/ci/meta/Value;)Z
ifeq 3
2: aload 1
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 2
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.operandNumber:(Ljdk/vm/ci/meta/Value;)I
invokevirtual java.util.BitSet.set:(I)V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 4 1 liveKill Ljava/util/BitSet;
0 4 2 operand Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
liveKill
operand
private void verifyInput(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, java.util.BitSet, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/util/BitSet;Ljdk/vm/ci/meta/Value;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 3
aload 1
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
if_acmpeq 3
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.isProcessed:(Ljdk/vm/ci/meta/Value;)Z
ifeq 3
2: getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 3
aload 2
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.operandNumber:(Ljdk/vm/ci/meta/Value;)I
invokevirtual java.util.BitSet.get:(I)Z
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "using fixed register "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " that is not defined in this block "
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:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 4 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 4 2 liveKill Ljava/util/BitSet;
0 4 3 operand Ljdk/vm/ci/meta/Value;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Ljava/util/BitSet;Ljdk/vm/ci/meta/Value;)V
MethodParameters:
Name Flags
block
liveKill
operand
protected void computeGlobalLiveSets();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=20, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: ldc "compute global live sets"
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
astore 3
start local 3 2: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockCount:()I
istore 4
start local 4 3: iconst_0
istore 7
start local 7 4: new java.util.BitSet
dup
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.liveSetSize:()I
invokespecial java.util.BitSet.<init>:(I)V
astore 8
start local 8 5: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int top top int java.util.BitSet
StackMap stack:
iconst_0
istore 5
start local 5 6: aconst_null
astore 9
aconst_null
astore 10
7: ldc "new iteration %d"
iload 7
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;I)Lorg/graalvm/compiler/debug/Indent;
astore 11
start local 11 8: iload 4
iconst_1
isub
istore 12
start local 12 9: goto 37
10: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int int top int java.util.BitSet java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 12
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockAt:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 13
start local 13 11: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 13
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
astore 14
start local 14 12: iconst_0
istore 6
start local 6 13: aload 13
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessorCount:()I
istore 15
start local 15 14: iload 15
ifle 28
15: aload 8
invokevirtual java.util.BitSet.clear:()V
16: iload 15
ifle 22
17: aload 13
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 21
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int int int int java.util.BitSet java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
18: aload 19
iload 17
aaload
astore 16
start local 16 19: aload 8
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 16
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveIn:Ljava/util/BitSet;
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
end local 16 20: iinc 17 1
StackMap locals:
StackMap stack:
21: iload 17
iload 18
if_icmplt 18
22: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int int int int java.util.BitSet java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData int
StackMap stack:
aload 14
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
aload 8
invokevirtual java.util.BitSet.equals:(Ljava/lang/Object;)Z
ifne 28
23: aload 14
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
astore 16
start local 16 24: aload 14
aload 8
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
25: aload 16
astore 8
26: iconst_1
istore 5
27: iconst_1
istore 6
end local 16 28: StackMap locals:
StackMap stack:
iload 7
ifeq 29
iload 6
ifeq 36
29: StackMap locals:
StackMap stack:
aload 14
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveIn:Ljava/util/BitSet;
astore 16
start local 16 30: aload 16
invokevirtual java.util.BitSet.clear:()V
31: aload 16
aload 14
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
32: aload 16
aload 14
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveKill:Ljava/util/BitSet;
invokevirtual java.util.BitSet.andNot:(Ljava/util/BitSet;)V
33: aload 16
aload 14
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveGen:Ljava/util/BitSet;
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
34: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 36
35: ldc "block %d: livein = %s, liveout = %s"
aload 13
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 16
aload 14
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
end local 16 end local 15 end local 14 end local 13 36: StackMap locals:
StackMap stack:
iinc 12 -1
end local 6 StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int int top int java.util.BitSet java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int
StackMap stack:
37: iload 12
ifge 10
end local 12 38: iinc 7 1
39: iload 5
ifeq 41
iload 7
bipush 50
if_icmple 41
40: new org.graalvm.compiler.common.PermanentBailoutException
dup
ldc "too many iterations in computeGlobalLiveSets"
invokespecial org.graalvm.compiler.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
aload 11
ifnull 47
aload 11
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 47
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 9
aload 11
ifnull 43
aload 11
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 11 StackMap locals:
StackMap stack:
43: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
44: astore 10
aload 9
ifnonnull 45
aload 10
astore 9
goto 46
StackMap locals:
StackMap stack:
45: aload 9
aload 10
if_acmpeq 46
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
46: aload 9
athrow
47: StackMap locals:
StackMap stack:
iload 5
ifne 5
48: getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 50
49: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.verifyLiveness:()V
50: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 9
start local 9 51: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 9
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveIn:Ljava/util/BitSet;
invokevirtual java.util.BitSet.cardinality:()I
ifeq 55
52: getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 54
53: aload 0
iload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.reportFailure:(I)V
54: StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
StackMap stack:
new org.graalvm.compiler.debug.GraalError
dup
new java.lang.StringBuilder
dup
ldc "liveIn set of first block must be empty: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 9
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveIn:Ljava/util/BitSet;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 end local 7 end local 5 end local 4 55: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack:
aload 3
ifnull 61
aload 3
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 61
StackMap locals:
StackMap stack: java.lang.Throwable
56: astore 1
aload 3
ifnull 57
aload 3
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 3 StackMap locals:
StackMap stack:
57: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
58: astore 2
aload 1
ifnonnull 59
aload 2
astore 1
goto 60
StackMap locals:
StackMap stack:
59: aload 1
aload 2
if_acmpeq 60
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
60: aload 1
athrow
61: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
2 57 3 indent Lorg/graalvm/compiler/debug/Indent;
3 55 4 numBlocks I
6 55 5 changeOccurred Z
13 37 6 changeOccurredInBlock Z
4 55 7 iterationCount I
5 55 8 liveOut Ljava/util/BitSet;
8 43 11 indent2 Lorg/graalvm/compiler/debug/Indent;
9 38 12 i I
11 36 13 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
12 36 14 blockSets Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
14 36 15 n I
19 20 16 successor Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
24 28 16 temp Ljava/util/BitSet;
30 36 16 liveIn Ljava/util/BitSet;
51 55 9 startBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Exception table:
from to target type
8 41 42 any
7 44 44 any
2 55 56 any
1 58 58 any
protected void reportFailure(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=30, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: invokestatic org.graalvm.compiler.debug.Debug.forceLog:()Lorg/graalvm/compiler/debug/Debug$Scope;
astore 4
start local 4 2: aconst_null
astore 5
aconst_null
astore 6
3: ldc "report failure"
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
astore 7
start local 7 4: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveIn:Ljava/util/BitSet;
astore 8
start local 8 5: aconst_null
astore 9
aconst_null
astore 10
6: ldc "Error: liveIn set of first block must be empty (when this fails, variables are used before they are defined):"
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
astore 11
start local 11 7: aload 8
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 12
start local 12 8: goto 16
9: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 12
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
astore 13
start local 13 10: aload 13
ifnull 14
11: aload 13
getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
astore 14
start local 14 12: ldc "var %d; operand=%s; node=%s"
iload 12
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 14
aload 14
invokestatic org.graalvm.compiler.lir.debug.LIRGenerationDebugContext.getSourceForOperandFromDebugContext:(Ljdk/vm/ci/meta/Value;)Ljava/lang/Object;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
end local 14 13: goto 15
14: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
StackMap stack:
ldc "var %d; missing operand"
iload 12
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;I)V
end local 13 15: StackMap locals:
StackMap stack:
aload 8
iload 12
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 12
StackMap locals:
StackMap stack:
16: iload 12
ifge 9
end local 12 17: aload 11
ifnull 23
aload 11
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 23
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
18: astore 9
aload 11
ifnull 19
aload 11
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 11 StackMap locals:
StackMap stack:
19: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 10
aload 9
ifnonnull 21
aload 10
astore 9
goto 22
StackMap locals:
StackMap stack:
21: aload 9
aload 10
if_acmpeq 22
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 9
athrow
23: StackMap locals:
StackMap stack:
aload 8
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 9
start local 9 24: goto 109
25: StackMap locals: int
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 9
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
astore 10
start local 10 26: aconst_null
astore 11
start local 11 27: aconst_null
astore 12
start local 12 28: aload 10
ifnull 31
29: aload 10
getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
astore 11
30: aload 11
invokestatic org.graalvm.compiler.lir.debug.LIRGenerationDebugContext.getSourceForOperandFromDebugContext:(Ljdk/vm/ci/meta/Value;)Ljava/lang/Object;
astore 12
31: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object
StackMap stack:
aconst_null
astore 13
aconst_null
astore 14
32: ldc "---- Detailed information for var %d; operand=%s; node=%s ----"
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 11
aload 12
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 15
start local 15 33: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 16
start local 16 34: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 17
start local 17 35: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 21
arraylength
istore 20
iconst_0
istore 19
goto 74
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
36: aload 21
iload 19
aaload
astore 18
start local 18 37: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 18
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveGen:Ljava/util/BitSet;
iload 9
invokevirtual java.util.BitSet.get:(I)Z
ifeq 59
38: aload 17
aload 18
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
39: aconst_null
astore 22
aconst_null
astore 23
40: ldc "used in block B%d"
aload 18
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;I)Lorg/graalvm/compiler/debug/Indent;
astore 24
start local 24 41: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 18
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 26
goto 52
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top java.util.Iterator
StackMap stack:
42: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 25
start local 25 43: aconst_null
astore 27
aconst_null
astore 28
44: ldc "%d: %s"
aload 25
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
aload 25
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;ILjava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 29
start local 29 45: aload 25
invokedynamic doValue()Lorg/graalvm/compiler/lir/ValueProcedure;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$4(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value; (6)
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachState:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
46: aload 29
ifnull 52
aload 29
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 52
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.LIRInstruction java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
47: astore 27
aload 29
ifnull 48
aload 29
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 29 StackMap locals:
StackMap stack:
48: aload 27
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
49: astore 28
aload 27
ifnonnull 50
aload 28
astore 27
goto 51
StackMap locals:
StackMap stack:
50: aload 27
aload 28
if_acmpeq 51
aload 27
aload 28
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
51: aload 27
athrow
end local 25 52: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top java.util.Iterator
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 42
53: aload 24
ifnull 59
aload 24
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 59
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
54: astore 22
aload 24
ifnull 55
aload 24
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 24 StackMap locals:
StackMap stack:
55: aload 22
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
56: astore 23
aload 22
ifnonnull 57
aload 23
astore 22
goto 58
StackMap locals:
StackMap stack:
57: aload 22
aload 23
if_acmpeq 58
aload 22
aload 23
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
58: aload 22
athrow
59: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 18
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveKill:Ljava/util/BitSet;
iload 9
invokevirtual java.util.BitSet.get:(I)Z
ifeq 73
60: aload 16
aload 18
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
61: aconst_null
astore 22
aconst_null
astore 23
62: ldc "defined in block B%d"
aload 18
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;I)Lorg/graalvm/compiler/debug/Indent;
astore 24
start local 24 63: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 18
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 26
goto 66
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top java.util.Iterator
StackMap stack:
64: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 25
start local 25 65: ldc "%d: %s"
aload 25
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
aload 25
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;ILjava/lang/Object;)V
end local 25 66: StackMap locals:
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
67: aload 24
ifnull 73
aload 24
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 73
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
68: astore 22
aload 24
ifnull 69
aload 24
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 24 StackMap locals:
StackMap stack:
69: aload 22
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
70: astore 23
aload 22
ifnonnull 71
aload 23
astore 22
goto 72
StackMap locals:
StackMap stack:
71: aload 22
aload 23
if_acmpeq 72
aload 22
aload 23
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
72: aload 22
athrow
end local 18 73: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
74: iload 19
iload 20
if_icmplt 36
75: iload 1
newarray 10
astore 18
start local 18 76: goto 89
77: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet int[]
StackMap stack:
aload 16
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase
astore 19
start local 19 78: aload 17
aload 19
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
79: aload 19
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 23
arraylength
istore 22
iconst_0
istore 21
goto 88
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet int[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
80: aload 23
iload 21
aaload
astore 20
start local 20 81: aload 20
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopHeader:()Z
ifeq 85
82: aload 19
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopEnd:()Z
ifne 87
83: aload 16
aload 20
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
84: goto 87
85: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet int[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
aload 18
aload 20
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
dup2
iaload
iconst_1
iadd
dup_x2
iastore
aload 20
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessorCount:()I
if_icmpne 87
86: aload 16
aload 20
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
end local 20 87: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet int[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
88: iload 21
iload 22
if_icmplt 80
end local 19 89: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet int[]
StackMap stack:
aload 16
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 77
90: aconst_null
astore 19
aconst_null
astore 20
91: ldc "**** offending usages are in: "
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
astore 21
start local 21 92: aload 17
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 23
goto 95
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet int[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top java.util.Iterator
StackMap stack:
93: aload 23
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase
astore 22
start local 22 94: ldc "B%d"
aload 22
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;I)V
end local 22 95: StackMap locals:
StackMap stack:
aload 23
invokeinterface java.util.Iterator.hasNext:()Z
ifne 93
96: aload 21
ifnull 102
aload 21
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 102
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.Deque java.util.HashSet int[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
97: astore 19
aload 21
ifnull 98
aload 21
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 21 StackMap locals:
StackMap stack:
98: aload 19
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
99: astore 20
aload 19
ifnonnull 100
aload 20
astore 19
goto 101
StackMap locals:
StackMap stack:
100: aload 19
aload 20
if_acmpeq 101
aload 19
aload 20
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
101: aload 19
athrow
end local 18 end local 17 end local 16 102: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.Value java.lang.Object java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack:
aload 15
ifnull 108
aload 15
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 108
StackMap locals:
StackMap stack: java.lang.Throwable
103: astore 13
aload 15
ifnull 104
aload 15
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 15 StackMap locals:
StackMap stack:
104: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
105: astore 14
aload 13
ifnonnull 106
aload 14
astore 13
goto 107
StackMap locals:
StackMap stack:
106: aload 13
aload 14
if_acmpeq 107
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
107: aload 13
athrow
end local 12 end local 11 end local 10 108: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.BitSet int
StackMap stack:
aload 8
iload 9
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 9
StackMap locals:
StackMap stack:
109: iload 9
ifge 25
end local 9 end local 8 110: aload 7
ifnull 116
aload 7
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 116
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
111: astore 5
aload 7
ifnull 112
aload 7
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 7 StackMap locals:
StackMap stack:
112: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
113: astore 6
aload 5
ifnonnull 114
aload 6
astore 5
goto 115
StackMap locals:
StackMap stack:
114: aload 5
aload 6
if_acmpeq 115
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
115: aload 5
athrow
116: StackMap locals:
StackMap stack:
aload 4
ifnull 124
aload 4
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 124
StackMap locals:
StackMap stack: java.lang.Throwable
117: astore 2
aload 4
ifnull 118
aload 4
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 4 StackMap locals:
StackMap stack:
118: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
119: astore 3
aload 2
ifnonnull 120
aload 3
astore 2
goto 121
StackMap locals:
StackMap stack:
120: aload 2
aload 3
if_acmpeq 121
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
121: aload 2
athrow
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int
StackMap stack: java.lang.Throwable
122: astore 2
start local 2 123: aload 2
invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 124: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 125 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 125 1 numBlocks I
2 118 4 s Lorg/graalvm/compiler/debug/Debug$Scope;
4 112 7 indent Lorg/graalvm/compiler/debug/Indent;
5 110 8 startBlockLiveIn Ljava/util/BitSet;
7 19 11 indent2 Lorg/graalvm/compiler/debug/Indent;
8 17 12 operandNum I
10 15 13 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
12 13 14 operand Ljdk/vm/ci/meta/Value;
24 110 9 operandNum I
26 108 10 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
27 108 11 operand Ljdk/vm/ci/meta/Value;
28 108 12 valueForOperandFromDebugContext Ljava/lang/Object;
33 104 15 indent2 Lorg/graalvm/compiler/debug/Indent;
34 102 16 definedIn Ljava/util/Deque<Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;>;
35 102 17 usedIn Ljava/util/HashSet<Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;>;
37 73 18 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
41 55 24 indent3 Lorg/graalvm/compiler/debug/Indent;
43 52 25 ins Lorg/graalvm/compiler/lir/LIRInstruction;
45 48 29 indent4 Lorg/graalvm/compiler/debug/Indent;
63 69 24 indent3 Lorg/graalvm/compiler/debug/Indent;
65 66 25 ins Lorg/graalvm/compiler/lir/LIRInstruction;
76 102 18 hitCount [I
78 89 19 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
81 87 20 successor Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
92 98 21 indent3 Lorg/graalvm/compiler/debug/Indent;
94 95 22 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
123 124 2 e Ljava/lang/Throwable;
Exception table:
from to target type
7 17 18 any
6 20 20 any
45 46 47 any
44 49 49 any
41 53 54 any
40 56 56 any
63 67 68 any
62 70 70 any
92 96 97 any
91 99 99 any
33 102 103 any
32 105 105 any
4 110 111 any
3 113 113 any
2 116 117 any
1 119 119 any
0 122 122 Class java.lang.Throwable
MethodParameters:
Name Flags
numBlocks
protected void verifyLiveness();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.sortedBlocks:()[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.alloc.lsra.LinearScanLifetimeAnalysisPhase top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: iconst_0
istore 5
start local 5 3: goto 8
4: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 5
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveIn:Ljava/util/BitSet;
iload 5
invokevirtual java.util.BitSet.get:(I)Z
ifeq 5
new java.lang.AssertionError
dup
ldc "liveIn set of fixed register must be empty"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 6
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
iload 5
invokevirtual java.util.BitSet.get:(I)Z
ifeq 6
new java.lang.AssertionError
dup
ldc "liveOut set of fixed register must be empty"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 7
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveGen:Ljava/util/BitSet;
iload 5
invokevirtual java.util.BitSet.get:(I)Z
ifeq 7
new java.lang.AssertionError
dup
ldc "liveGen set of fixed register must be empty"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.maxRegisterNumber:()I
if_icmple 4
end local 5 end local 1 9: iinc 2 1
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
10: iload 2
iload 3
if_icmplt 1
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
2 9 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
3 9 5 j I
protected void addUse(jdk.vm.ci.meta.AllocatableValue, int, int, org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority, jdk.vm.ci.meta.ValueKind<?>);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;IILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.isProcessed:(Ljdk/vm/ci/meta/Value;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOrCreateInterval:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
astore 6
start local 6 3: aload 5
getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
4: aload 6
aload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setKind:(Ljdk/vm/ci/meta/ValueKind;)V
5: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
StackMap stack:
aload 6
iload 2
iload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addRange:(II)V
6: aload 6
iload 3
bipush -2
iand
aload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)V
7: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 9
8: ldc "add use: %s, from %d to %d (%s)"
aload 6
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.name:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
return
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 10 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 10 1 operand Ljdk/vm/ci/meta/AllocatableValue;
0 10 2 from I
0 10 3 to I
0 10 4 registerPriority Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
0 10 5 kind Ljdk/vm/ci/meta/ValueKind<*>;
3 10 6 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
Signature: (Ljdk/vm/ci/meta/AllocatableValue;IILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind<*>;)V
MethodParameters:
Name Flags
operand
from
to
registerPriority
kind
protected void addTemp(jdk.vm.ci.meta.AllocatableValue, int, org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority, jdk.vm.ci.meta.ValueKind<?>);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.isProcessed:(Ljdk/vm/ci/meta/Value;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOrCreateInterval:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
astore 5
start local 5 3: aload 4
getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
4: aload 5
aload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setKind:(Ljdk/vm/ci/meta/ValueKind;)V
5: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
StackMap stack:
aload 5
iload 2
iload 2
iconst_1
iadd
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addRange:(II)V
6: aload 5
iload 2
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)V
7: aload 5
aconst_null
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addMaterializationValue:(Ljdk/vm/ci/meta/Constant;)V
8: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 10
9: ldc "add temp: %s tempPos %d (%s)"
aload 5
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.name:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
10: 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 11 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 11 1 operand Ljdk/vm/ci/meta/AllocatableValue;
0 11 2 tempPos I
0 11 3 registerPriority Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
0 11 4 kind Ljdk/vm/ci/meta/ValueKind<*>;
3 11 5 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
Signature: (Ljdk/vm/ci/meta/AllocatableValue;ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind<*>;)V
MethodParameters:
Name Flags
operand
tempPos
registerPriority
kind
protected void addDef(jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority, jdk.vm.ci.meta.ValueKind<?>);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.isProcessed:(Ljdk/vm/ci/meta/Value;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
istore 5
start local 5 3: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOrCreateInterval:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
astore 6
start local 6 4: aload 4
getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 6
5: aload 6
aload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setKind:(Ljdk/vm/ci/meta/ValueKind;)V
6: StackMap locals: int org.graalvm.compiler.lir.alloc.lsra.Interval
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.first:()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
astore 7
start local 7 7: aload 7
getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
iload 5
if_icmpgt 11
8: aload 7
iload 5
putfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
9: aload 6
iload 5
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)V
10: goto 15
11: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Range
StackMap stack:
aload 6
iload 5
iload 5
iconst_1
iadd
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addRange:(II)V
12: aload 6
iload 5
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)V
13: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 15
14: ldc "Warning: def of operand %s at %d occurs without use"
aload 1
iload 5
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;I)V
15: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
aload 6
iload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.changeSpillDefinitionPos:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;I)V
16: aload 3
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
if_acmpne 18
aload 6
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.StartInMemory:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
if_icmpgt 18
aload 1
invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
ifeq 18
17: aload 6
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.StartInMemory:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setSpillState:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;)V
18: StackMap locals:
StackMap stack:
aload 6
aload 0
aload 2
aload 1
aload 6
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.getMaterializedValue:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Ljdk/vm/ci/meta/Constant;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addMaterializationValue:(Ljdk/vm/ci/meta/Constant;)V
19: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 21
20: ldc "add def: %s defPos %d (%s)"
aload 6
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.name:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
21: StackMap locals:
StackMap stack:
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 22 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 22 1 operand Ljdk/vm/ci/meta/AllocatableValue;
0 22 2 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 22 3 registerPriority Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
0 22 4 kind Ljdk/vm/ci/meta/ValueKind<*>;
3 22 5 defPos I
4 22 6 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
7 22 7 r Lorg/graalvm/compiler/lir/alloc/lsra/Range;
Signature: (Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind<*>;)V
MethodParameters:
Name Flags
operand
op
registerPriority
kind
protected void handleMethodArguments(org.graalvm.compiler.lir.LIRInstruction);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.lir.StandardOp$ValueMoveOp
ifeq 13
1: aload 1
checkcast org.graalvm.compiler.lir.StandardOp$ValueMoveOp
astore 2
start local 2 2: aload 2
invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getInput:()Ljdk/vm/ci/meta/AllocatableValue;
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.optimizeMethodArgument:(Ljdk/vm/ci/meta/Value;)Z
ifeq 13
3: aload 2
invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getInput:()Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.asStackSlot:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/StackSlot;
astore 3
start local 3 4: getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
5: getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 6
aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
ifgt 6
new java.lang.AssertionError
dup
ldc "invalid id"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: org.graalvm.compiler.lir.StandardOp$ValueMoveOp jdk.vm.ci.code.StackSlot
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 7
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessorCount:()I
ifeq 7
new java.lang.AssertionError
dup
ldc "move from stack must be in first block"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 8
aload 2
invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifne 8
new java.lang.AssertionError
dup
ldc "result of move must be a variable"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 10
9: ldc "found move from stack slot %s to %s"
aload 3
aload 2
invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 2
invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.intervalFor:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
astore 4
start local 4 11: aload 4
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setSpillSlot:(Ljdk/vm/ci/meta/AllocatableValue;)V
12: aload 4
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.assignLocation:(Ljdk/vm/ci/meta/AllocatableValue;)V
end local 4 end local 3 end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 14 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
2 13 2 move Lorg/graalvm/compiler/lir/StandardOp$ValueMoveOp;
4 13 3 slot Ljdk/vm/ci/code/StackSlot;
11 13 4 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
MethodParameters:
Name Flags
op
protected void addRegisterHint(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>, );
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.HINT:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 2
aload 2
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 2
1: aload 1
aload 2
aload 3
aload 0
aload 2
iload 5
aload 1
invokedynamic doValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;Ljdk/vm/ci/meta/Value;ZLorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/ValueProcedure;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$5(Ljdk/vm/ci/meta/Value;ZLorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value; (7)
(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachRegisterHint:(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Lorg/graalvm/compiler/lir/ValueProcedure;)Ljdk/vm/ci/meta/Value;
pop
2: 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 3 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 3 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 3 2 targetValue Ljdk/vm/ci/meta/Value;
0 3 3 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 3 4 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
0 3 5 hintAtDef Z
Signature: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;Z)V
MethodParameters:
Name Flags
op final
targetValue final
mode
flags
hintAtDef final
protected void changeSpillDefinitionPos(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.alloc.lsra.Interval, int);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 1
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
ifne 1
new java.lang.AssertionError
dup
ldc "can only be called for split parents"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$SWITCH_TABLE$org$graalvm$compiler$lir$alloc$lsra$Interval$SpillState:()[I
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 2
2: 6
3: 12
4: 12
5: 12
6: 12
7: 11
default: 12
}
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 3
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
iconst_m1
if_icmpeq 3
new java.lang.AssertionError
dup
ldc "must no be set before"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
aload 3
iload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setSpillDefinitionPos:(I)V
4: aload 3
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.NoSpillStore:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setSpillState:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;)V
5: goto 13
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 7
iload 4
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
if_icmple 7
new java.lang.AssertionError
dup
ldc "positions are processed in reverse order when intervals are created"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
iload 4
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
iconst_2
isub
if_icmpge 10
8: aload 3
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.NoOptimization:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setSpillState:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;)V
9: goto 13
10: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 13
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
if_acmpeq 13
new java.lang.AssertionError
dup
ldc "block must be equal"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals:
StackMap stack:
goto 13
12: StackMap locals:
StackMap stack:
ldc "other states not allowed at this time"
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
13: 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 14 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 14 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 14 2 operand Ljdk/vm/ci/meta/AllocatableValue;
0 14 3 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
0 14 4 defPos I
MethodParameters:
Name Flags
op
operand
interval
defPos
private static boolean optimizeMethodArgument(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
ifeq 1
aload 0
invokestatic jdk.vm.ci.code.ValueUtil.asStackSlot:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/StackSlot;
invokevirtual jdk.vm.ci.code.StackSlot.isInCallerFrame:()Z
ifeq 1
aload 0
invokestatic org.graalvm.compiler.core.common.LIRKind.isValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 value Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
value
protected org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority registerPriorityOfOutputOperand(org.graalvm.compiler.lir.LIRInstruction);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.lir.StandardOp$ValueMoveOp
ifeq 4
1: aload 1
checkcast org.graalvm.compiler.lir.StandardOp$ValueMoveOp
astore 2
start local 2 2: aload 2
invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getInput:()Ljdk/vm/ci/meta/AllocatableValue;
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.optimizeMethodArgument:(Ljdk/vm/ci/meta/Value;)Z
ifeq 4
3: getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
areturn
end local 2 4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 5 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
2 4 2 move Lorg/graalvm/compiler/lir/StandardOp$ValueMoveOp;
MethodParameters:
Name Flags
op
protected static org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority registerPriorityOfInputOperand(java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>);
descriptor: (Ljava/util/EnumSet;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 2
1: getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.ShouldHaveRegister:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
Signature: (Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
MethodParameters:
Name Flags
flags
protected void buildIntervals();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=27, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: ldc "build intervals"
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
astore 3
start local 3 2: aload 0
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;)Lorg/graalvm/compiler/lir/InstructionValueConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$6(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
astore 4
start local 4 3: aload 0
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;)Lorg/graalvm/compiler/lir/InstructionValueConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$7(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
astore 5
start local 5 4: aload 0
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;)Lorg/graalvm/compiler/lir/InstructionValueConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$8(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
astore 6
start local 6 5: aload 0
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;)Lorg/graalvm/compiler/lir/InstructionValueConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$9(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
astore 7
start local 7 6: aload 0
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;)Lorg/graalvm/compiler/lir/InstructionValueConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
org/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase.lambda$10(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V (7)
(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
astore 8
start local 8 7: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getRegisterAllocationConfig:()Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
invokevirtual org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
invokeinterface jdk.vm.ci.code.RegisterConfig.getCallerSaveRegisters:()Ljdk/vm/ci/code/RegisterArray;
astore 9
start local 9 8: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockCount:()I
iconst_1
isub
istore 10
start local 10 9: goto 65
10: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer jdk.vm.ci.code.RegisterArray int
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 10
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockAt:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 11
start local 11 11: aconst_null
astore 12
aconst_null
astore 13
12: ldc "handle block %d"
aload 11
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;I)Lorg/graalvm/compiler/debug/Indent;
astore 14
start local 14 13: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 11
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 15
start local 15 14: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 11
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getFirstLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
istore 16
start local 16 15: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 11
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLastLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
istore 17
start local 17 16: getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 17
iload 16
aload 15
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
if_icmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.List int int
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 18
iload 17
aload 15
aload 15
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
if_icmpeq 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 11
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
astore 18
start local 18 19: aload 18
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 19
start local 19 20: goto 29
21: StackMap locals: java.util.BitSet int
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 22
aload 18
iload 19
invokevirtual java.util.BitSet.get:(I)Z
ifne 22
new java.lang.AssertionError
dup
ldc "should not stop here otherwise"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 19
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
astore 20
start local 20 23: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 25
24: ldc "live in %d: %s"
iload 19
aload 20
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;ILjava/lang/Object;)V
25: StackMap locals: jdk.vm.ci.meta.AllocatableValue
StackMap stack:
aload 0
aload 20
iload 16
iload 17
iconst_2
iadd
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addUse:(Ljdk/vm/ci/meta/AllocatableValue;IILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
26: aload 11
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopEnd:()Z
ifeq 28
aload 11
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
ifnull 28
aload 0
iload 19
aload 11
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getIndex:()I
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.isIntervalInLoop:(II)Z
ifeq 28
27: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 19
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
iload 17
iconst_1
iadd
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.LiveAtLoopEnd:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)V
end local 20 28: StackMap locals:
StackMap stack:
aload 18
iload 19
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 19
StackMap locals:
StackMap stack:
29: iload 19
ifge 21
end local 19 30: aload 15
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 19
start local 19 31: goto 57
32: StackMap locals:
StackMap stack:
aload 15
iload 19
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 20
start local 20 33: aload 20
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
istore 21
start local 21 34: aconst_null
astore 22
aconst_null
astore 23
35: ldc "handle inst %d: %s"
iload 21
aload 20
invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;ILjava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 24
start local 24 36: aload 20
invokevirtual org.graalvm.compiler.lir.LIRInstruction.destroysCallerSavedRegisters:()Z
ifeq 44
37: aload 9
invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
astore 26
goto 41
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.List int int java.util.BitSet int org.graalvm.compiler.lir.LIRInstruction int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top java.util.Iterator
StackMap stack:
38: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.Register
astore 25
start local 25 39: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 25
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.attributes:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/RegisterAttributes;
invokevirtual jdk.vm.ci.code.RegisterAttributes.isAllocatable:()Z
ifeq 41
40: aload 0
aload 25
invokevirtual jdk.vm.ci.code.Register.asValue:()Ljdk/vm/ci/code/RegisterValue;
iload 21
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addTemp:(Ljdk/vm/ci/meta/AllocatableValue;ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
end local 25 41: StackMap locals:
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
42: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 44
43: ldc "operation destroys all caller-save registers"
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;)V
44: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.List int int java.util.BitSet int org.graalvm.compiler.lir.LIRInstruction int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack:
aload 20
aload 4
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachOutput:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
45: aload 20
aload 5
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachTemp:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
46: aload 20
aload 6
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachAlive:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
47: aload 20
aload 7
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachInput:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
48: aload 20
aload 8
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachState:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
49: aload 0
aload 20
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.handleMethodArguments:(Lorg/graalvm/compiler/lir/LIRInstruction;)V
50: aload 24
ifnull 56
aload 24
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 56
StackMap locals:
StackMap stack: java.lang.Throwable
51: astore 22
aload 24
ifnull 52
aload 24
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 24 StackMap locals:
StackMap stack:
52: aload 22
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
53: astore 23
aload 22
ifnonnull 54
aload 23
astore 22
goto 55
StackMap locals:
StackMap stack:
54: aload 22
aload 23
if_acmpeq 55
aload 22
aload 23
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
55: aload 22
athrow
end local 21 end local 20 56: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.List int int java.util.BitSet int
StackMap stack:
iinc 19 -1
StackMap locals:
StackMap stack:
57: iload 19
ifge 32
end local 19 end local 18 end local 17 end local 16 end local 15 58: aload 14
ifnull 64
aload 14
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 64
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
59: astore 12
aload 14
ifnull 60
aload 14
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 14 StackMap locals:
StackMap stack:
60: aload 12
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
61: astore 13
aload 12
ifnonnull 62
aload 13
astore 12
goto 63
StackMap locals:
StackMap stack:
62: aload 12
aload 13
if_acmpeq 63
aload 12
aload 13
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
63: aload 12
athrow
end local 11 64: StackMap locals:
StackMap stack:
iinc 10 -1
StackMap locals:
StackMap stack:
65: iload 10
ifge 10
end local 10 66: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.intervals:()[Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 71
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer org.graalvm.compiler.lir.InstructionValueConsumer jdk.vm.ci.code.RegisterArray top int int org.graalvm.compiler.lir.alloc.lsra.Interval[]
StackMap stack:
67: aload 13
iload 11
aaload
astore 10
start local 10 68: aload 10
ifnull 70
aload 10
getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 70
69: aload 10
iconst_0
iconst_1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addRange:(II)V
end local 10 70: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
71: iload 11
iload 12
if_icmplt 67
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 72: aload 3
ifnull 78
aload 3
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 78
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
73: astore 1
aload 3
ifnull 74
aload 3
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 3 StackMap locals:
StackMap stack:
74: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
75: astore 2
aload 1
ifnonnull 76
aload 2
astore 1
goto 77
StackMap locals:
StackMap stack:
76: aload 1
aload 2
if_acmpeq 77
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
77: aload 1
athrow
78: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 79 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
2 74 3 indent Lorg/graalvm/compiler/debug/Indent;
3 72 4 outputConsumer Lorg/graalvm/compiler/lir/InstructionValueConsumer;
4 72 5 tempConsumer Lorg/graalvm/compiler/lir/InstructionValueConsumer;
5 72 6 aliveConsumer Lorg/graalvm/compiler/lir/InstructionValueConsumer;
6 72 7 inputConsumer Lorg/graalvm/compiler/lir/InstructionValueConsumer;
7 72 8 stateProc Lorg/graalvm/compiler/lir/InstructionValueConsumer;
8 72 9 callerSaveRegs Ljdk/vm/ci/code/RegisterArray;
9 66 10 i I
11 64 11 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
13 60 14 indent2 Lorg/graalvm/compiler/debug/Indent;
14 58 15 instructions Ljava/util/List<Lorg/graalvm/compiler/lir/LIRInstruction;>;
15 58 16 blockFrom I
16 58 17 blockTo I
19 58 18 live Ljava/util/BitSet;
20 30 19 operandNum I
23 28 20 operand Ljdk/vm/ci/meta/AllocatableValue;
31 58 19 j I
33 56 20 op Lorg/graalvm/compiler/lir/LIRInstruction;
34 56 21 opId I
36 52 24 indent3 Lorg/graalvm/compiler/debug/Indent;
39 41 25 r Ljdk/vm/ci/code/Register;
68 70 10 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
Exception table:
from to target type
36 50 51 any
35 53 53 any
13 58 59 any
12 61 61 any
2 72 73 any
1 75 75 any
protected jdk.vm.ci.meta.Constant getMaterializedValue(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.alloc.lsra.Interval);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Ljdk/vm/ci/meta/Constant;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof org.graalvm.compiler.lir.StandardOp$LoadConstantOp
ifeq 13
1: aload 1
checkcast org.graalvm.compiler.lir.StandardOp$LoadConstantOp
astore 4
start local 4 2: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.neverSpillConstants:()Z
ifne 12
3: aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
astore 5
start local 5 4: aload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 11
7: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase org.graalvm.compiler.lir.LIRInstruction jdk.vm.ci.meta.Value org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.StandardOp$LoadConstantOp org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList int int
StackMap stack:
aload 5
iload 7
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.registerPriority:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
astore 8
start local 8 8: aload 8
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.ShouldHaveRegister:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
if_acmpne 10
9: aconst_null
areturn
end local 8 10: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
iload 6
if_icmplt 7
end local 7 end local 6 end local 5 12: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.graalvm.compiler.lir.StandardOp$LoadConstantOp.getConstant:()Ljdk/vm/ci/meta/Constant;
areturn
end local 4 13: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 14 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 14 2 operand Ljdk/vm/ci/meta/Value;
0 14 3 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
2 13 4 move Lorg/graalvm/compiler/lir/StandardOp$LoadConstantOp;
4 12 5 usePosList Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
5 12 6 numUsePos I
6 12 7 useIdx I
8 10 8 priority Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
MethodParameters:
Name Flags
op
operand
interval
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.lsra.LinearScanLifetimeAnalysisPhase.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
static int[] $SWITCH_TABLE$org$graalvm$compiler$lir$alloc$lsra$Interval$SpillState();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$SWITCH_TABLE$org$graalvm$compiler$lir$alloc$lsra$Interval$SpillState:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.values:()[Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.NoDefinitionFound:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.NoOptimization:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
bipush 7
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.NoSpillStore:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.OneSpillStore:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.SpillInDominator:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.StartInMemory:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
bipush 6
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.StoreAtDefinition:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$SWITCH_TABLE$org$graalvm$compiler$lir$alloc$lsra$Interval$SpillState:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
private void lambda$0(jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifeq 2
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOrCreateInterval:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
pop
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 3 1 value Ljdk/vm/ci/meta/Value;
0 3 2 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 3 3 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
private void lambda$1(java.util.BitSet, java.util.BitSet, org.graalvm.compiler.core.common.cfg.AbstractBlockBase, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Ljava/util/BitSet;Ljava/util/BitSet;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=8, args_size=7
start local 0 start local 4 start local 5 start local 6 0: aload 4
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifeq 8
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.operandNumber:(Ljdk/vm/ci/meta/Value;)I
istore 7
start local 7 2: aload 1
iload 7
invokevirtual java.util.BitSet.get:(I)Z
ifne 6
3: aload 2
iload 7
invokevirtual java.util.BitSet.set:(I)V
4: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 6
5: ldc "liveGen for operand %d(%s)"
iload 7
aload 4
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;ILjava/lang/Object;)V
6: StackMap locals: int
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
ifnull 8
7: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.intervalInLoop:Lorg/graalvm/compiler/core/common/util/BitMap2D;
iload 7
aload 3
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getIndex:()I
invokevirtual org.graalvm.compiler.core.common.util.BitMap2D.setBit:(II)V
end local 7 8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
9: aload 0
aload 3
aload 1
aload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.verifyInput:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/util/BitSet;Ljdk/vm/ci/meta/Value;)V
10: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 11 4 operand Ljdk/vm/ci/meta/Value;
0 11 5 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 11 6 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
2 8 7 operandNum I
private void lambda$2(java.util.BitSet, java.util.BitSet, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Ljava/util/BitSet;Ljava/util/BitSet;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=7, args_size=6
start local 0 start local 3 start local 4 start local 5 0: aload 3
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 6
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.operandNumber:(Ljdk/vm/ci/meta/Value;)I
istore 6
start local 6 2: aload 1
iload 6
invokevirtual java.util.BitSet.get:(I)Z
ifne 6
3: aload 2
iload 6
invokevirtual java.util.BitSet.set:(I)V
4: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 6
5: ldc "liveGen in state for operand %d(%s)"
iload 6
aload 3
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;ILjava/lang/Object;)V
end local 6 6: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 7 3 operand Ljdk/vm/ci/meta/Value;
0 7 4 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 7 5 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
2 6 6 operandNum I
private void lambda$3(java.util.BitSet, org.graalvm.compiler.core.common.cfg.AbstractBlockBase, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Ljava/util/BitSet;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=7, args_size=6
start local 0 start local 3 start local 4 start local 5 0: aload 3
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
ifeq 7
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.operandNumber:(Ljdk/vm/ci/meta/Value;)I
istore 6
start local 6 2: aload 1
iload 6
invokevirtual java.util.BitSet.set:(I)V
3: invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 5
4: ldc "liveKill for operand %d(%s)"
iload 6
aload 3
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;ILjava/lang/Object;)V
5: StackMap locals: int
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
ifnull 7
6: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.intervalInLoop:Lorg/graalvm/compiler/core/common/util/BitMap2D;
iload 6
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getIndex:()I
invokevirtual org.graalvm.compiler.core.common.util.BitMap2D.setBit:(II)V
end local 6 7: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 9
8: aload 0
aload 1
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.verifyTemp:(Ljava/util/BitSet;Ljdk/vm/ci/meta/Value;)V
9: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 10 3 operand Ljdk/vm/ci/meta/Value;
0 10 4 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 10 5 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
2 7 6 varNum I
private static jdk.vm.ci.meta.Value lambda$4(jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "operand=%s"
aload 0
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 liveStateOperand Ljdk/vm/ci/meta/Value;
0 2 1 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 2 2 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
private jdk.vm.ci.meta.Value lambda$5(jdk.vm.ci.meta.Value, boolean, org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Ljdk/vm/ci/meta/Value;ZLorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=9, args_size=7
start local 0 start local 4 start local 5 start local 6 0: aload 4
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 10
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 4
checkcast jdk.vm.ci.meta.AllocatableValue
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOrCreateInterval:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
astore 7
start local 7 2: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
checkcast jdk.vm.ci.meta.AllocatableValue
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOrCreateInterval:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
astore 8
start local 8 3: iload 2
ifeq 6
4: aload 8
aload 7
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setLocationHint:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
5: goto 7
6: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.alloc.lsra.Interval
StackMap stack:
aload 7
aload 8
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setLocationHint:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
7: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
ifeq 9
8: ldc "operation at opId %d: added hint from interval %d to %d"
aload 3
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
aload 7
getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
aload 8
getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;III)V
9: StackMap locals:
StackMap stack:
aload 4
areturn
end local 8 end local 7 10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 11 4 registerHint Ljdk/vm/ci/meta/Value;
0 11 5 valueMode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 11 6 valueFlags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
2 10 7 from Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
3 10 8 to Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
private void lambda$6(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 3
1: aload 0
aload 2
checkcast jdk.vm.ci.meta.AllocatableValue
aload 1
aload 0
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.registerPriorityOfOutputOperand:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addDef:(Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
2: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addRegisterHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;Z)V
3: 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 4 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 4 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 4 2 operand Ljdk/vm/ci/meta/Value;
0 4 3 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 4 4 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
private void lambda$7(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 3
1: aload 0
aload 2
checkcast jdk.vm.ci.meta.AllocatableValue
aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addTemp:(Ljdk/vm/ci/meta/AllocatableValue;ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
2: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_0
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addRegisterHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;Z)V
3: 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 4 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 4 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 4 2 operand Ljdk/vm/ci/meta/Value;
0 4 3 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 4 4 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
private void lambda$8(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 6
1: aload 4
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.registerPriorityOfInputOperand:(Ljava/util/EnumSet;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
astore 5
start local 5 2: aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
istore 6
start local 6 3: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 6
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getFirstLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
istore 7
start local 7 4: aload 0
aload 2
checkcast jdk.vm.ci.meta.AllocatableValue
iload 7
iload 6
iconst_1
iadd
aload 5
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addUse:(Ljdk/vm/ci/meta/AllocatableValue;IILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
5: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_0
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addRegisterHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;Z)V
end local 7 end local 6 end local 5 6: 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 7 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 7 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 7 2 operand Ljdk/vm/ci/meta/Value;
0 7 3 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 7 4 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
2 6 5 p Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
3 6 6 opId I
4 6 7 blockFrom I
private void lambda$9(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 6
1: aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
istore 5
start local 5 2: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getFirstLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
istore 6
start local 6 3: aload 4
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.registerPriorityOfInputOperand:(Ljava/util/EnumSet;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
astore 7
start local 7 4: aload 0
aload 2
checkcast jdk.vm.ci.meta.AllocatableValue
iload 6
iload 5
aload 7
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addUse:(Ljdk/vm/ci/meta/AllocatableValue;IILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
5: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_0
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addRegisterHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;Z)V
end local 7 end local 6 end local 5 6: 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 7 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 7 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 7 2 operand Ljdk/vm/ci/meta/Value;
0 7 3 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 7 4 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
2 6 5 opId I
3 6 6 blockFrom I
4 6 7 p Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
private void lambda$10(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
ifeq 4
1: aload 1
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
istore 5
start local 5 2: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
iload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getFirstLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
istore 6
start local 6 3: aload 0
aload 2
checkcast jdk.vm.ci.meta.AllocatableValue
iload 6
iload 5
iconst_1
iadd
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
aload 2
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.addUse:(Ljdk/vm/ci/meta/AllocatableValue;IILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Ljdk/vm/ci/meta/ValueKind;)V
end local 6 end local 5 4: 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 5 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 5 1 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 5 2 operand Ljdk/vm/ci/meta/Value;
0 5 3 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 5 4 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
2 4 5 opId I
3 4 6 blockFrom I
}
SourceFile: "LinearScanLifetimeAnalysisPhase.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Scope = org.graalvm.compiler.debug.Debug$Scope of org.graalvm.compiler.debug.Debug
public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
public abstract LoadConstantOp = org.graalvm.compiler.lir.StandardOp$LoadConstantOp of org.graalvm.compiler.lir.StandardOp
public abstract ValueMoveOp = org.graalvm.compiler.lir.StandardOp$ValueMoveOp of org.graalvm.compiler.lir.StandardOp
public final RegisterPriority = org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority of org.graalvm.compiler.lir.alloc.lsra.Interval
public final SpillState = org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState of org.graalvm.compiler.lir.alloc.lsra.Interval
public final UsePosList = org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList of org.graalvm.compiler.lir.alloc.lsra.Interval
public BlockData = org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData of org.graalvm.compiler.lir.alloc.lsra.LinearScan
public final AllocationContext = org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext of org.graalvm.compiler.lir.phases.AllocationPhase