public class org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase extends org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase
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.alloc.lsra.LinearScanAllocationPhase
{
protected final org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator;
descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.debug.DebugContext debug;
descriptor: Lorg/graalvm/compiler/debug/DebugContext;
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.alloc.lsra.LinearScanAllocationPhase.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
2: aload 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.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
3: return
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 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=4, 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.debug:Lorg/graalvm/compiler/debug/DebugContext;
iconst_3
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
ldc "Before register allocation"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)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
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.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.buildIntervals:(Z)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
invokevirtual java.util.ArrayList.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.ArrayList int int
StackMap stack:
aload 9
iload 11
invokevirtual java.util.ArrayList.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/ArrayList<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=8, 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: new java.util.BitSet
dup
iload 1
invokespecial java.util.BitSet.<init>:(I)V
astore 2
start local 2 3: new java.util.BitSet
dup
iload 1
invokespecial java.util.BitSet.<init>:(I)V
astore 3
start local 3 4: 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 7
arraylength
istore 6
iconst_0
istore 5
goto 48
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.util.BitSet java.util.BitSet top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aconst_null
astore 8
aconst_null
astore 9
7: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "compute local live sets for block %s"
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 10
start local 10 8: aload 2
invokevirtual java.util.BitSet.clear:()V
9: aload 3
invokevirtual java.util.BitSet.clear:()V
10: 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 4
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 11
start local 11 11: aload 11
invokevirtual java.util.ArrayList.size:()I
istore 12
start local 12 12: aload 0
aload 3
aload 2
aload 4
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 13: aload 0
aload 3
aload 2
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 14: aload 0
aload 3
aload 4
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 15: iconst_0
istore 16
start local 16 16: goto 32
17: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.util.BitSet java.util.BitSet 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.ArrayList int org.graalvm.compiler.lir.ValueConsumer org.graalvm.compiler.lir.ValueConsumer org.graalvm.compiler.lir.ValueConsumer int
StackMap stack:
aload 11
iload 16
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 17
start local 17 18: aconst_null
astore 18
aconst_null
astore 19
19: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "handle op %d: %s"
aload 17
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
aload 17
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;ILjava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 20
start local 20 20: aload 17
aload 13
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachInput:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
21: aload 17
aload 13
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachAlive:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
22: aload 17
aload 14
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachState:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
23: aload 17
aload 15
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachTemp:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
24: aload 17
aload 15
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachOutput:(Lorg/graalvm/compiler/lir/ValueConsumer;)V
25: aload 20
ifnull 31
aload 20
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 31
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.util.BitSet java.util.BitSet 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.ArrayList 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
26: astore 18
aload 20
ifnull 27
aload 20
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 20 StackMap locals:
StackMap stack:
27: aload 18
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 19
aload 18
ifnonnull 29
aload 19
astore 18
goto 30
StackMap locals:
StackMap stack:
29: aload 18
aload 19
if_acmpeq 30
aload 18
aload 19
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
30: aload 18
athrow
end local 17 31: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
32: iload 16
iload 12
if_icmplt 17
end local 16 33: 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.getBlockData:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
astore 16
start local 16 34: aload 16
aload 2
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.trimClone:(Ljava/util/BitSet;)Ljava/util/BitSet;
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveGen:Ljava/util/BitSet;
35: aload 16
aload 3
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.trimClone:(Ljava/util/BitSet;)Ljava/util/BitSet;
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveKill:Ljava/util/BitSet;
36: aload 16
new java.util.BitSet
dup
iconst_0
invokespecial java.util.BitSet.<init>:(I)V
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveIn:Ljava/util/BitSet;
37: aload 16
new java.util.BitSet
dup
iconst_0
invokespecial java.util.BitSet.<init>:(I)V
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
38: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 41
39: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "liveGen B%d %s"
aload 4
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;
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;ILjava/lang/Object;)V
40: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "liveKill B%d %s"
aload 4
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;
invokevirtual org.graalvm.compiler.debug.DebugContext.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 41: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.util.BitSet java.util.BitSet 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 10
ifnull 47
aload 10
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 47
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 8
aload 10
ifnull 43
aload 10
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 10 StackMap locals:
StackMap stack:
43: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
44: astore 9
aload 8
ifnonnull 45
aload 9
astore 8
goto 46
StackMap locals:
StackMap stack:
45: aload 8
aload 9
if_acmpeq 46
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
46: aload 8
athrow
end local 4 47: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.util.BitSet java.util.BitSet top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
48: iload 5
iload 6
if_icmplt 5
end local 3 end local 2 49: goto 52
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int
StackMap stack: java.lang.OutOfMemoryError
50: astore 2
start local 2 51: new org.graalvm.compiler.core.common.PermanentBailoutException
dup
aload 2
ldc "Out-of-memory during live set allocation of size %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 2 52: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
1 53 1 liveSize I
3 49 2 liveGenScratch Ljava/util/BitSet;
4 49 3 liveKillScratch Ljava/util/BitSet;
6 47 4 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
8 43 10 indent Lorg/graalvm/compiler/debug/Indent;
11 41 11 instructions Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
12 41 12 numInst I
13 41 13 useConsumer Lorg/graalvm/compiler/lir/ValueConsumer;
14 41 14 stateConsumer Lorg/graalvm/compiler/lir/ValueConsumer;
15 41 15 defConsumer Lorg/graalvm/compiler/lir/ValueConsumer;
16 33 16 j I
18 31 17 op Lorg/graalvm/compiler/lir/LIRInstruction;
20 27 20 indent2 Lorg/graalvm/compiler/debug/Indent;
34 41 16 blockSets Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
51 52 2 oom Ljava/lang/OutOfMemoryError;
Exception table:
from to target type
20 25 26 any
19 28 28 any
8 41 42 any
7 44 44 any
2 49 50 Class java.lang.OutOfMemoryError
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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "compute global live sets"
invokevirtual org.graalvm.compiler.debug.DebugContext.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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "new iteration %d"
iload 7
invokevirtual org.graalvm.compiler.debug.DebugContext.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 35
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 26
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 26
23: aload 14
aload 8
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.trimClone:(Ljava/util/BitSet;)Ljava/util/BitSet;
putfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveOut:Ljava/util/BitSet;
24: iconst_1
istore 5
25: iconst_1
istore 6
26: StackMap locals:
StackMap stack:
iload 7
ifeq 27
iload 6
ifeq 34
27: StackMap locals:
StackMap stack:
aload 14
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan$BlockData.liveIn:Ljava/util/BitSet;
astore 16
start local 16 28: 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
29: 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
30: 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
31: aload 16
invokevirtual java.util.BitSet.clone:()Ljava/lang/Object;
pop
32: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 34
33: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
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;
invokevirtual org.graalvm.compiler.debug.DebugContext.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 34: 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:
35: iload 12
ifge 10
end local 12 36: iinc 7 1
37: iload 5
ifeq 39
iload 7
bipush 50
if_icmple 39
38: new org.graalvm.compiler.core.common.PermanentBailoutException
dup
ldc "too many iterations in computeGlobalLiveSets"
invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
aload 11
ifnull 45
aload 11
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 45
StackMap locals:
StackMap stack: java.lang.Throwable
40: astore 9
aload 11
ifnull 41
aload 11
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 11 StackMap locals:
StackMap stack:
41: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 10
aload 9
ifnonnull 43
aload 10
astore 9
goto 44
StackMap locals:
StackMap stack:
43: aload 9
aload 10
if_acmpeq 44
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
44: aload 9
athrow
45: StackMap locals:
StackMap stack:
iload 5
ifne 5
46: 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.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifeq 48
47: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.verifyLiveness:()V
48: 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 49: 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 53
50: 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.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifeq 52
51: aload 0
iload 4
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.reportFailure:(I)V
52: 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 53: 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 59
aload 3
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 59
StackMap locals:
StackMap stack: java.lang.Throwable
54: astore 1
aload 3
ifnull 55
aload 3
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 3 StackMap locals:
StackMap stack:
55: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
56: astore 2
aload 1
ifnonnull 57
aload 2
astore 1
goto 58
StackMap locals:
StackMap stack:
57: aload 1
aload 2
if_acmpeq 58
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
58: aload 1
athrow
59: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
2 55 3 indent Lorg/graalvm/compiler/debug/Indent;
3 53 4 numBlocks I
6 53 5 changeOccurred Z
13 35 6 changeOccurredInBlock Z
4 53 7 iterationCount I
5 53 8 scratch Ljava/util/BitSet;
8 41 11 indent2 Lorg/graalvm/compiler/debug/Indent;
9 36 12 i I
11 34 13 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
12 34 14 blockSets Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$BlockData;
14 34 15 n I
19 20 16 successor Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
28 34 16 liveIn Ljava/util/BitSet;
49 53 9 startBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Exception table:
from to target type
8 39 40 any
7 42 42 any
2 53 54 any
1 56 56 any
private static java.util.BitSet trimClone(java.util.BitSet);
descriptor: (Ljava/util/BitSet;)Ljava/util/BitSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.BitSet
dup
iconst_0
invokespecial java.util.BitSet.<init>:(I)V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 set Ljava/util/BitSet;
1 3 1 trimmedSet Ljava/util/BitSet;
MethodParameters:
Name Flags
set
protected void reportFailure(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=30, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.forceLog:()Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 4
start local 4 2: aconst_null
astore 5
aconst_null
astore 6
3: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "report failure"
invokevirtual org.graalvm.compiler.debug.DebugContext.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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "Error: liveIn set of first block must be empty (when this fails, variables are used before they are defined):"
invokevirtual org.graalvm.compiler.debug.DebugContext.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.DebugContext$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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "var %d; operand=%s; node=%s"
iload 12
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 14
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
aload 14
invokestatic org.graalvm.compiler.lir.debug.LIRGenerationDebugContext.getSourceForOperandFromDebugContext:(Lorg/graalvm/compiler/debug/DebugContext;Ljdk/vm/ci/meta/Value;)Ljava/lang/Object;
invokevirtual org.graalvm.compiler.debug.DebugContext.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:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "var %d; missing operand"
iload 12
invokevirtual org.graalvm.compiler.debug.DebugContext.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.DebugContext$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 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
aload 11
invokestatic org.graalvm.compiler.lir.debug.LIRGenerationDebugContext.getSourceForOperandFromDebugContext:(Lorg/graalvm/compiler/debug/DebugContext;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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
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
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 15
start local 15 33: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 16
start local 16 34: getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
pop
39: aconst_null
astore 22
aconst_null
astore 23
40: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "used in block B%d"
aload 18
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokevirtual org.graalvm.compiler.debug.DebugContext.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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "%d: %s"
aload 25
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
aload 25
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;ILjava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 29
start local 29 45: aload 25
aload 0
invokedynamic doValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;)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; (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.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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
61: aconst_null
astore 22
aconst_null
astore 23
62: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "defined in block B%d"
aload 18
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokevirtual org.graalvm.compiler.debug.DebugContext.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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "%d: %s"
aload 25
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
aload 25
invokevirtual org.graalvm.compiler.debug.DebugContext.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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet int[]
StackMap stack:
aload 16
invokevirtual java.util.ArrayDeque.removeFirst:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase
astore 19
start local 19 78: aload 17
aload 19
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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
invokevirtual java.util.ArrayDeque.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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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
invokevirtual java.util.ArrayDeque.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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet int[]
StackMap stack:
aload 16
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 77
90: aconst_null
astore 19
aconst_null
astore 20
91: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "**** offending usages are in: "
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
astore 21
start local 21 92: aload 17
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "B%d"
aload 22
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokevirtual org.graalvm.compiler.debug.DebugContext.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.DebugContext$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.ArrayDeque jdk.internal.vm.compiler.collections.EconomicSet 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.DebugContext$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.DebugContext$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.DebugContext$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.DebugContext$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.DebugContext$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 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.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/DebugContext$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/ArrayDeque<Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;>;
35 102 17 usedIn Ljdk/internal/vm/compiler/collections/EconomicSet<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;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 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 7
start local 7 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 7
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 7
iload 2
iload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addRange:(II)V
6: aload 7
iload 3
bipush -2
iand
aload 4
iload 6
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Z)V
7: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 9
8: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "add use: %s, from %d to %d (%s)"
aload 7
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;
invokevirtual org.graalvm.compiler.debug.DebugContext.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 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 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<*>;
0 10 6 detailedAsserts Z
3 10 7 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<*>;Z)V
MethodParameters:
Name Flags
operand
from
to
registerPriority
kind
detailedAsserts
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;Z)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 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 6
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 6
iload 2
iload 2
iconst_1
iadd
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addRange:(II)V
6: aload 6
iload 2
aload 3
iload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Z)V
7: aload 6
aconst_null
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addMaterializationValue:(Ljdk/vm/ci/meta/Constant;)V
8: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 10
9: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "add temp: %s tempPos %d (%s)"
aload 6
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;
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
10: 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 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<*>;
0 11 5 detailedAsserts Z
3 11 6 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<*>;Z)V
MethodParameters:
Name Flags
operand
tempPos
registerPriority
kind
detailedAsserts
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;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, 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 2
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 1
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 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 7
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 7
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.first:()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
astore 8
start local 8 7: aload 8
getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
iload 6
if_icmpgt 11
8: aload 8
iload 6
putfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
9: aload 7
iload 6
aload 3
iload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Z)V
10: goto 15
11: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Range
StackMap stack:
aload 7
iload 6
iload 6
iconst_1
iadd
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addRange:(II)V
12: aload 7
iload 6
aload 3
iload 5
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Z)V
13: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 15
14: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "Warning: def of operand %s at %d occurs without use"
aload 1
iload 6
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;I)V
15: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
aload 7
iload 6
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 7
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 7
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 7
aload 0
aload 2
aload 1
aload 7
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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 21
20: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "add def: %s defPos %d (%s)"
aload 7
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.name:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
21: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 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<*>;
0 22 5 detailedAsserts Z
3 22 6 defPos I
4 22 7 interval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
7 22 8 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<*>;Z)V
MethodParameters:
Name Flags
operand
op
registerPriority
kind
detailedAsserts
protected void handleMethodArguments(org.graalvm.compiler.lir.LIRInstruction);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.graalvm.compiler.lir.StandardOp$ValueMoveOp.isValueMoveOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
ifeq 13
1: aload 1
invokestatic org.graalvm.compiler.lir.StandardOp$ValueMoveOp.asValueMoveOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/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: 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.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)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:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 10
9: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
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;
invokevirtual org.graalvm.compiler.debug.DebugContext.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
invokestatic org.graalvm.compiler.lir.StandardOp$ValueMoveOp.isValueMoveOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
ifeq 4
1: aload 1
invokestatic org.graalvm.compiler.lir.StandardOp$ValueMoveOp.asValueMoveOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/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(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=28, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "build intervals"
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
astore 4
start local 4 2: aload 0
iload 1
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;Z)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(ZLorg/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 3: aload 0
iload 1
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;Z)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(ZLorg/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 4: aload 0
iload 1
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;Z)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(ZLorg/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 5: aload 0
iload 1
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;Z)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(ZLorg/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 6: aload 0
iload 1
invokedynamic visitValue(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;Z)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(ZLorg/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 9
start local 9 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 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.blockCount:()I
iconst_1
isub
istore 11
start local 11 9: goto 65
10: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int 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 11
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockAt:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 12
start local 12 11: aconst_null
astore 13
aconst_null
astore 14
12: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "handle block %d"
aload 12
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;I)Lorg/graalvm/compiler/debug/Indent;
astore 15
start local 15 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 12
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 16
start local 16 14: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 12
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getFirstLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
istore 17
start local 17 15: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 12
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLastLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
istore 18
start local 18 16: getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 17
iload 17
aload 16
iconst_0
invokevirtual java.util.ArrayList.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 int 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.ArrayList int int
StackMap stack:
getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.$assertionsDisabled:Z
ifne 18
iload 18
aload 16
aload 16
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.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 12
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 19
start local 19 19: aload 19
iconst_0
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 20
start local 20 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 19
iload 20
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 20
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 21
start local 21 23: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 25
24: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "live in %d: %s"
iload 20
aload 21
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;ILjava/lang/Object;)V
25: StackMap locals: jdk.vm.ci.meta.AllocatableValue
StackMap stack:
aload 0
aload 21
iload 17
iload 18
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;
iload 1
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;Z)V
26: aload 12
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopEnd:()Z
ifeq 28
aload 12
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
ifnull 28
aload 0
iload 20
aload 12
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 20
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
iload 18
iconst_1
iadd
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.LiveAtLoopEnd:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
iload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Z)V
end local 21 28: StackMap locals:
StackMap stack:
aload 19
iload 20
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
istore 20
StackMap locals:
StackMap stack:
29: iload 20
ifge 21
end local 20 30: aload 16
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 20
start local 20 31: goto 57
32: StackMap locals:
StackMap stack:
aload 16
iload 20
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
astore 21
start local 21 33: aload 21
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
istore 22
start local 22 34: aconst_null
astore 23
aconst_null
astore 24
35: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "handle inst %d: %s"
iload 22
aload 21
invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;ILjava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
astore 25
start local 25 36: aload 21
invokevirtual org.graalvm.compiler.lir.LIRInstruction.destroysCallerSavedRegisters:()Z
ifeq 44
37: aload 10
invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
astore 27
goto 41
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int 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.ArrayList 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 27
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.Register
astore 26
start local 26 39: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 26
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 26
invokevirtual jdk.vm.ci.code.Register.asValue:()Ljdk/vm/ci/code/RegisterValue;
iload 22
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;
iload 1
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;Z)V
end local 26 41: StackMap locals:
StackMap stack:
aload 27
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
42: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 44
43: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "operation destroys all caller-save registers"
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
44: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int 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.ArrayList 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 21
aload 5
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachOutput:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
45: aload 21
aload 6
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachTemp:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
46: aload 21
aload 7
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachAlive:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
47: aload 21
aload 8
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachInput:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
48: aload 21
aload 9
invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachState:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
49: aload 0
aload 21
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.handleMethodArguments:(Lorg/graalvm/compiler/lir/LIRInstruction;)V
50: aload 25
ifnull 56
aload 25
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 56
StackMap locals:
StackMap stack: java.lang.Throwable
51: astore 23
aload 25
ifnull 52
aload 25
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 25 StackMap locals:
StackMap stack:
52: aload 23
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
53: astore 24
aload 23
ifnonnull 54
aload 24
astore 23
goto 55
StackMap locals:
StackMap stack:
54: aload 23
aload 24
if_acmpeq 55
aload 23
aload 24
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
55: aload 23
athrow
end local 22 end local 21 56: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int 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.ArrayList int int java.util.BitSet int
StackMap stack:
iinc 20 -1
StackMap locals:
StackMap stack:
57: iload 20
ifge 32
end local 20 end local 19 end local 18 end local 17 end local 16 58: aload 15
ifnull 64
aload 15
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 64
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int 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 13
aload 15
ifnull 60
aload 15
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 15 StackMap locals:
StackMap stack:
60: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
61: astore 14
aload 13
ifnonnull 62
aload 14
astore 13
goto 63
StackMap locals:
StackMap stack:
62: aload 13
aload 14
if_acmpeq 63
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
63: aload 13
athrow
end local 12 64: StackMap locals:
StackMap stack:
iinc 11 -1
StackMap locals:
StackMap stack:
65: iload 11
ifge 10
end local 11 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 14
arraylength
istore 13
iconst_0
istore 12
goto 71
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int 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 14
iload 12
aaload
astore 11
start local 11 68: aload 11
ifnull 70
aload 11
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 11
iconst_0
iconst_1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addRange:(II)V
end local 11 70: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
71: iload 12
iload 13
if_icmplt 67
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 72: aload 4
ifnull 78
aload 4
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 78
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
73: astore 2
aload 4
ifnull 74
aload 4
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 4 StackMap locals:
StackMap stack:
74: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
75: astore 3
aload 2
ifnonnull 76
aload 3
astore 2
goto 77
StackMap locals:
StackMap stack:
76: aload 2
aload 3
if_acmpeq 77
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
77: aload 2
athrow
78: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 79 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 79 1 detailedAsserts Z
2 74 4 indent Lorg/graalvm/compiler/debug/Indent;
3 72 5 outputConsumer Lorg/graalvm/compiler/lir/InstructionValueConsumer;
4 72 6 tempConsumer Lorg/graalvm/compiler/lir/InstructionValueConsumer;
5 72 7 aliveConsumer Lorg/graalvm/compiler/lir/InstructionValueConsumer;
6 72 8 inputConsumer Lorg/graalvm/compiler/lir/InstructionValueConsumer;
7 72 9 stateProc Lorg/graalvm/compiler/lir/InstructionValueConsumer;
8 72 10 callerSaveRegs Ljdk/vm/ci/code/RegisterArray;
9 66 11 i I
11 64 12 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
13 60 15 indent2 Lorg/graalvm/compiler/debug/Indent;
14 58 16 instructions Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
15 58 17 blockFrom I
16 58 18 blockTo I
19 58 19 live Ljava/util/BitSet;
20 30 20 operandNum I
23 28 21 operand Ljdk/vm/ci/meta/AllocatableValue;
31 58 20 j I
33 56 21 op Lorg/graalvm/compiler/lir/LIRInstruction;
34 56 22 opId I
36 52 25 indent3 Lorg/graalvm/compiler/debug/Indent;
39 41 26 r Ljdk/vm/ci/code/Register;
68 70 11 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
MethodParameters:
Name Flags
detailedAsserts
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
invokestatic org.graalvm.compiler.lir.StandardOp$LoadConstantOp.isLoadConstantOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
ifeq 13
1: aload 1
invokestatic org.graalvm.compiler.lir.StandardOp$LoadConstantOp.asLoadConstantOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/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
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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 6
5: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "liveGen for operand %d(%s)"
iload 7
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.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:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan.detailedAsserts: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=4, 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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 6
5: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "liveGen in state for operand %d(%s)"
iload 6
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.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=4, 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: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 5
4: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "liveKill for operand %d(%s)"
iload 6
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.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:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan.detailedAsserts: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 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: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "operand=%s"
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 2 1 liveStateOperand Ljdk/vm/ci/meta/Value;
0 2 2 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 2 3 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=5, 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:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 9
8: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.debug:Lorg/graalvm/compiler/debug/DebugContext;
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
invokevirtual org.graalvm.compiler.debug.DebugContext.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(boolean, org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (ZLorg/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=6, args_size=6
start local 0 start local 2 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 3
1: aload 0
aload 3
checkcast jdk.vm.ci.meta.AllocatableValue
aload 2
aload 0
aload 2
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.registerPriorityOfOutputOperand:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
aload 3
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
iload 1
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;Z)V
2: aload 0
aload 2
aload 3
aload 4
aload 5
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 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 4 2 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 4 3 operand Ljdk/vm/ci/meta/Value;
0 4 4 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 4 5 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
private void lambda$7(boolean, org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (ZLorg/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=6, args_size=6
start local 0 start local 2 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 3
1: aload 0
aload 3
checkcast jdk.vm.ci.meta.AllocatableValue
aload 2
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 3
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
iload 1
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;Z)V
2: aload 0
aload 2
aload 3
aload 4
aload 5
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 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 4 2 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 4 3 operand Ljdk/vm/ci/meta/Value;
0 4 4 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 4 5 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
private void lambda$8(boolean, org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (ZLorg/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=7, locals=9, args_size=6
start local 0 start local 2 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 5
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.registerPriorityOfInputOperand:(Ljava/util/EnumSet;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
astore 6
start local 6 2: aload 2
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
istore 7
start local 7 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 7
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 8
start local 8 4: aload 0
aload 3
checkcast jdk.vm.ci.meta.AllocatableValue
iload 8
iload 7
iconst_1
iadd
aload 6
aload 3
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
iload 1
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;Z)V
5: aload 0
aload 2
aload 3
aload 4
aload 5
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 8 end local 7 end local 6 6: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 7 2 op Lorg/graalvm/compiler/lir/LIRInstruction;
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 p Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
3 6 7 opId I
4 6 8 blockFrom I
private void lambda$9(boolean, org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (ZLorg/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=7, locals=9, args_size=6
start local 0 start local 2 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 2
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
istore 6
start local 6 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 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 3: aload 5
invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanLifetimeAnalysisPhase.registerPriorityOfInputOperand:(Ljava/util/EnumSet;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
astore 8
start local 8 4: aload 0
aload 3
checkcast jdk.vm.ci.meta.AllocatableValue
iload 7
iload 6
aload 8
aload 3
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
iload 1
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;Z)V
5: aload 0
aload 2
aload 3
aload 4
aload 5
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 8 end local 7 end local 6 6: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 7 2 op Lorg/graalvm/compiler/lir/LIRInstruction;
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 opId I
3 6 7 blockFrom I
4 6 8 p Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
private void lambda$10(boolean, org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet);
descriptor: (ZLorg/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=7, locals=8, args_size=6
start local 0 start local 2 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 4
1: aload 2
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
istore 6
start local 6 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 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 3: aload 0
aload 3
checkcast jdk.vm.ci.meta.AllocatableValue
iload 7
iload 6
iconst_1
iadd
getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
aload 3
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
iload 1
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;Z)V
end local 7 end local 6 4: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanLifetimeAnalysisPhase;
0 5 2 op Lorg/graalvm/compiler/lir/LIRInstruction;
0 5 3 operand Ljdk/vm/ci/meta/Value;
0 5 4 mode Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
0 5 5 flags Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
2 4 6 opId I
3 4 7 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.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
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