public class org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase extends org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase
super_class: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase
{
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/SSALinearScanEliminateSpillMovePhase;
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.SSALinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
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.LinearScanEliminateSpillMovePhase.<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/SSALinearScanEliminateSpillMovePhase;
0 2 1 allocator Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
MethodParameters:
Name Flags
allocator
protected int firstInstructionOfInterest();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanEliminateSpillMovePhase;
protected boolean canEliminateSpillMove(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.StandardOp$MoveOp);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/StandardOp$MoveOp;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.canEliminateSpillMove:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/StandardOp$MoveOp;)Z
ifeq 7
1: aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 2
invokeinterface org.graalvm.compiler.lir.StandardOp$MoveOp.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 3
start local 3 2: getstatic org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
ifne 4
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.location:()Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
ifne 3
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.alwaysInMemory:()Z
ifne 4
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
StackMap stack:
3: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase.isPhiResolutionMove:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/StandardOp$MoveOp;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Z
ifne 7
5: getstatic org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
ifne 6
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.location:()Ljdk/vm/ci/meta/AllocatableValue;
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
ifne 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Not a stack slot: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.location:()Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanEliminateSpillMovePhase;
0 8 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 8 2 move Lorg/graalvm/compiler/lir/StandardOp$MoveOp;
2 7 3 curInterval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/StandardOp$MoveOp;)Z
MethodParameters:
Name Flags
block
move
private boolean isPhiResolutionMove(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.StandardOp$MoveOp, org.graalvm.compiler.lir.alloc.lsra.Interval);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/StandardOp$MoveOp;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
iconst_1
iand
iconst_1
if_icmpne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessorCount:()I
iconst_1
if_icmpeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.instructionForId:(I)Lorg/graalvm/compiler/lir/LIRInstruction;
astore 4
start local 4 7: aload 4
instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
ifne 9
8: iconst_0
ireturn
9: StackMap locals: org.graalvm.compiler.lir.LIRInstruction
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
aload 3
invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
astore 5
start local 5 10: getstatic org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
ifne 11
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase.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;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.LIRInstruction
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
iconst_0
aaload
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 13
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 6
start local 6 14: aconst_null
astore 7
aconst_null
astore 8
15: aload 6
invokevirtual org.graalvm.compiler.debug.DebugContext.indent:()Lorg/graalvm/compiler/debug/Indent;
astore 9
start local 9 16: aload 6
ldc "Is a move (%s) to phi interval %s"
aload 2
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
17: aload 9
ifnull 23
aload 9
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
goto 23
StackMap locals: org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScanEliminateSpillMovePhase org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.StandardOp$MoveOp org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
StackMap stack: java.lang.Throwable
18: astore 7
aload 9
ifnull 19
aload 9
invokeinterface org.graalvm.compiler.debug.Indent.close:()V
end local 9 StackMap locals:
StackMap stack:
19: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 8
aload 7
ifnonnull 21
aload 8
astore 7
goto 22
StackMap locals:
StackMap stack:
21: aload 7
aload 8
if_acmpeq 22
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
22: aload 7
athrow
23: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 24 0 this Lorg/graalvm/compiler/lir/alloc/lsra/ssa/SSALinearScanEliminateSpillMovePhase;
0 24 1 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
0 24 2 move Lorg/graalvm/compiler/lir/StandardOp$MoveOp;
0 24 3 toInterval Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
7 24 4 op Lorg/graalvm/compiler/lir/LIRInstruction;
10 24 5 intStartBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
14 24 6 debug Lorg/graalvm/compiler/debug/DebugContext;
16 19 9 indent Lorg/graalvm/compiler/debug/Indent;
Exception table:
from to target type
16 17 18 any
15 20 20 any
Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/StandardOp$MoveOp;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Z
MethodParameters:
Name Flags
block
move
toInterval
}
SourceFile: "SSALinearScanEliminateSpillMovePhase.java"
InnerClasses:
public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
public abstract MoveOp = org.graalvm.compiler.lir.StandardOp$MoveOp of org.graalvm.compiler.lir.StandardOp