class org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase extends org.graalvm.compiler.lir.alloc.lsra.LinearScanResolveDataFlowPhase
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase
super_class: org.graalvm.compiler.lir.alloc.lsra.LinearScanResolveDataFlowPhase
{
private static final org.graalvm.compiler.debug.DebugCounter numPhiResolutionMoves;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter numStackToStackMoves;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanResolveDataFlowPhase;
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.ssa.SSALinearScanResolveDataFlowPhase.$assertionsDisabled:Z
3: ldc "SSA LSRA[numPhiResolutionMoves]"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.numPhiResolutionMoves:Lorg/graalvm/compiler/debug/DebugCounter;
4: ldc "SSA LSRA[numStackToStackMoves]"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.numStackToStackMoves:Lorg/graalvm/compiler/debug/DebugCounter;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.graalvm.compiler.lir.alloc.lsra.LinearScan);
descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.lir.alloc.lsra.LinearScanResolveDataFlowPhase.<init>:(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanResolveDataFlowPhase;
0 2 1 allocator Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
MethodParameters:
Name Flags
allocator
protected void resolveCollectMappings(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.alloc.lsra.MoveResolver);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/alloc/lsra/MoveResolver;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial org.graalvm.compiler.lir.alloc.lsra.LinearScanResolveDataFlowPhase.resolveCollectMappings:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/alloc/lsra/MoveResolver;)V
1: aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessorCount:()I
iconst_1
if_icmple 16
2: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 2
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getFirstLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
istore 5
start local 5 3: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 1
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLastLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
iconst_1
iadd
istore 6
start local 6 4: aload 3
ifnull 5
aload 3
goto 6
StackMap locals: int int
StackMap stack:
5: aload 1
StackMap locals:
StackMap stack: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
6: astore 7
start local 7 7: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 7
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 8
start local 8 8: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 7
invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiOutIndex:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
istore 9
start local 9 9: aload 3
ifnull 10
iload 6
goto 11
StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.List int
StackMap stack:
10: aload 8
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
StackMap locals:
StackMap stack: int
11: istore 10
start local 10 12: getstatic org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.$assertionsDisabled:Z
ifne 13
iload 10
ifge 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: int
StackMap stack:
new org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase$1
dup
aload 0
iload 5
aload 4
iload 10
invokespecial org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase$1.<init>:(Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanResolveDataFlowPhase;ILorg/graalvm/compiler/lir/alloc/lsra/MoveResolver;I)V
astore 11
start local 11 14: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 2
aload 7
aload 11
invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.forEachPhiValuePair:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/ssa/SSAUtil$PhiValueVisitor;)V
15: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
aload 7
invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.removePhiOut:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 16: StackMap locals: org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.alloc.lsra.MoveResolver
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 17 0 this Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanResolveDataFlowPhase;
0 17 1 fromBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 17 2 toBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 17 3 midBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 17 4 moveResolver Lorg/graalvm/compiler/lir/alloc/lsra/MoveResolver;
3 16 5 toBlockFirstInstructionId I
4 16 6 fromBlockLastInstructionId I
7 16 7 phiOutBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
8 16 8 instructions Ljava/util/List<Lorg/graalvm/compiler/lir/LIRInstruction;>;
9 16 9 phiOutIdx I
12 16 10 phiOutId I
14 16 11 visitor Lorg/graalvm/compiler/lir/ssa/SSAUtil$PhiValueVisitor;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/alloc/lsra/MoveResolver;)V
MethodParameters:
Name Flags
fromBlock
toBlock
midBlock
moveResolver
static org.graalvm.compiler.lir.alloc.lsra.LinearScan access$0(org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase);
descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanResolveDataFlowPhase;)Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SSALinearScanResolveDataFlowPhase.java"
NestMembers:
org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase$1
InnerClasses:
org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanResolveDataFlowPhase$1
public abstract PhiValueVisitor = org.graalvm.compiler.lir.ssa.SSAUtil$PhiValueVisitor of org.graalvm.compiler.lir.ssa.SSAUtil