public class org.graalvm.compiler.lir.alloc.SaveCalleeSaveRegisters extends org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.lir.alloc.SaveCalleeSaveRegisters
super_class: org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase
{
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/SaveCalleeSaveRegisters;
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.SaveCalleeSaveRegisters.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/alloc/SaveCalleeSaveRegisters;
protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext);
descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/PreAllocationOptimizationPhase$PreAllocationOptimizationContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
invokeinterface jdk.vm.ci.code.RegisterConfig.getCalleeSaveRegisters:()Ljdk/vm/ci/code/RegisterArray;
astore 4
start local 4 1: aload 4
ifnull 2
aload 4
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
ifne 3
2: StackMap locals: jdk.vm.ci.code.RegisterArray
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
astore 5
start local 5 4: aload 5
aload 3
getfield org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext.lirGen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 2
aload 4
aload 1
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokestatic org.graalvm.compiler.lir.alloc.SaveCalleeSaveRegisters.saveAtEntry:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/code/Architecture;)Lorg/graalvm/compiler/lir/util/RegisterMap;
astore 6
start local 6 5: aload 5
invokevirtual org.graalvm.compiler.lir.LIR.codeEmittingOrder:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 12
StackMap locals: org.graalvm.compiler.lir.alloc.SaveCalleeSaveRegisters jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext jdk.vm.ci.code.RegisterArray org.graalvm.compiler.lir.LIR org.graalvm.compiler.lir.util.RegisterMap top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
6: aload 10
iload 8
aaload
astore 7
start local 7 7: aload 7
ifnonnull 9
8: goto 11
9: StackMap locals: org.graalvm.compiler.lir.alloc.SaveCalleeSaveRegisters jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext jdk.vm.ci.code.RegisterArray org.graalvm.compiler.lir.LIR org.graalvm.compiler.lir.util.RegisterMap org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
aload 7
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessorCount:()I
ifne 11
10: aload 5
aload 3
getfield org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext.lirGen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getSpillMoveFactory:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
aload 2
aload 6
aload 7
invokestatic org.graalvm.compiler.lir.alloc.SaveCalleeSaveRegisters.restoreAtExit:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/util/RegisterMap;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
end local 7 11: StackMap locals: org.graalvm.compiler.lir.alloc.SaveCalleeSaveRegisters jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext jdk.vm.ci.code.RegisterArray org.graalvm.compiler.lir.LIR org.graalvm.compiler.lir.util.RegisterMap top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
12: iload 8
iload 9
if_icmplt 6
13: 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 14 0 this Lorg/graalvm/compiler/lir/alloc/SaveCalleeSaveRegisters;
0 14 1 target Ljdk/vm/ci/code/TargetDescription;
0 14 2 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 14 3 context Lorg/graalvm/compiler/lir/phases/PreAllocationOptimizationPhase$PreAllocationOptimizationContext;
1 14 4 calleeSaveRegisters Ljdk/vm/ci/code/RegisterArray;
4 14 5 lir Lorg/graalvm/compiler/lir/LIR;
5 14 6 savedRegisters Lorg/graalvm/compiler/lir/util/RegisterMap<Lorg/graalvm/compiler/lir/Variable;>;
7 11 7 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
MethodParameters:
Name Flags
target
lirGenRes
context
private static org.graalvm.compiler.lir.util.RegisterMap<org.graalvm.compiler.lir.Variable> saveAtEntry(org.graalvm.compiler.lir.LIR, org.graalvm.compiler.lir.gen.LIRGeneratorTool, org.graalvm.compiler.lir.gen.LIRGenerationResult, jdk.vm.ci.code.RegisterArray, jdk.vm.ci.code.Architecture);
descriptor: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/code/Architecture;)Lorg/graalvm/compiler/lir/util/RegisterMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=20, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
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 5
start local 5 1: aload 0
aload 5
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 6
start local 6 2: iconst_1
istore 7
start local 7 3: new org.graalvm.compiler.lir.LIRInsertionBuffer
dup
invokespecial org.graalvm.compiler.lir.LIRInsertionBuffer.<init>:()V
astore 8
start local 8 4: aload 8
aload 6
invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.init:(Ljava/util/List;)V
5: aload 6
iload 7
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.StandardOp$LabelOp
astore 9
start local 9 6: aload 3
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
anewarray jdk.vm.ci.code.RegisterValue
astore 10
start local 10 7: iconst_0
istore 11
start local 11 8: new org.graalvm.compiler.lir.util.RegisterMap
dup
aload 4
invokespecial org.graalvm.compiler.lir.util.RegisterMap.<init>:(Ljdk/vm/ci/code/Architecture;)V
astore 12
start local 12 9: aload 3
invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
astore 14
goto 20
StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.lir.gen.LIRGeneratorTool org.graalvm.compiler.lir.gen.LIRGenerationResult jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.Architecture org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.ArrayList int org.graalvm.compiler.lir.LIRInsertionBuffer org.graalvm.compiler.lir.StandardOp$LabelOp jdk.vm.ci.code.RegisterValue[] int org.graalvm.compiler.lir.util.RegisterMap top java.util.Iterator
StackMap stack:
10: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.Register
astore 13
start local 13 11: aload 4
aload 13
invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
invokevirtual jdk.vm.ci.code.Architecture.getLargestStorableKind:(Ljdk/vm/ci/code/Register$RegisterCategory;)Ljdk/vm/ci/meta/PlatformKind;
astore 15
start local 15 12: aload 15
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 16
start local 16 13: aload 13
aload 16
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 17
start local 17 14: aload 1
aload 16
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 18
start local 18 15: aload 1
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getSpillMoveFactory:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
aload 18
aload 17
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
astore 19
start local 19 16: aload 8
iload 7
aload 19
invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.append:(ILorg/graalvm/compiler/lir/LIRInstruction;)V
17: aload 19
aload 2
ldc "SaveCalleeSavedRegisters: saveAtEntry"
invokevirtual org.graalvm.compiler.lir.LIRInstruction.setComment:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/String;)V
18: aload 12
aload 13
aload 18
invokevirtual org.graalvm.compiler.lir.util.RegisterMap.put:(Ljdk/vm/ci/code/Register;Ljava/lang/Object;)V
19: aload 10
iload 11
iinc 11 1
aload 17
aastore
end local 19 end local 18 end local 17 end local 16 end local 15 end local 13 20: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
21: aload 9
aload 10
invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.addIncomingValues:([Ljdk/vm/ci/meta/Value;)V
22: aload 8
invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.finish:()V
23: aload 12
areturn
end local 12 end local 11 end local 10 end local 9 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 24 0 lir Lorg/graalvm/compiler/lir/LIR;
0 24 1 lirGen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 24 2 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 24 3 calleeSaveRegisters Ljdk/vm/ci/code/RegisterArray;
0 24 4 arch Ljdk/vm/ci/code/Architecture;
1 24 5 startBlock Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
2 24 6 instructions Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
3 24 7 insertionIndex I
4 24 8 buffer Lorg/graalvm/compiler/lir/LIRInsertionBuffer;
6 24 9 entry Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
7 24 10 savedRegisterValues [Ljdk/vm/ci/code/RegisterValue;
8 24 11 savedRegisterValueIndex I
9 24 12 saveMap Lorg/graalvm/compiler/lir/util/RegisterMap<Lorg/graalvm/compiler/lir/Variable;>;
11 20 13 register Ljdk/vm/ci/code/Register;
12 20 15 registerPlatformKind Ljdk/vm/ci/meta/PlatformKind;
13 20 16 lirKind Lorg/graalvm/compiler/core/common/LIRKind;
14 20 17 registerValue Ljdk/vm/ci/code/RegisterValue;
15 20 18 saveVariable Lorg/graalvm/compiler/lir/Variable;
16 20 19 save Lorg/graalvm/compiler/lir/LIRInstruction;
Signature: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/code/Architecture;)Lorg/graalvm/compiler/lir/util/RegisterMap<Lorg/graalvm/compiler/lir/Variable;>;
MethodParameters:
Name Flags
lir
lirGen
lirGenRes
calleeSaveRegisters
arch
private static void restoreAtExit(org.graalvm.compiler.lir.LIR, org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.util.RegisterMap<org.graalvm.compiler.lir.Variable>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
descriptor: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/util/RegisterMap;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
astore 5
start local 5 1: aload 5
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 6
start local 6 2: new org.graalvm.compiler.lir.LIRInsertionBuffer
dup
invokespecial org.graalvm.compiler.lir.LIRInsertionBuffer.<init>:()V
astore 7
start local 7 3: aload 7
aload 5
invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.init:(Ljava/util/List;)V
4: getstatic org.graalvm.compiler.lir.alloc.SaveCalleeSaveRegisters.$assertionsDisabled:Z
ifne 5
aload 5
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
instanceof org.graalvm.compiler.lir.StandardOp$BlockEndOp
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: java.util.ArrayList int org.graalvm.compiler.lir.LIRInsertionBuffer
StackMap stack:
aload 3
aload 1
aload 7
iload 6
aload 2
invokedynamic accept(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/lir/LIRInsertionBuffer;ILorg/graalvm/compiler/lir/gen/LIRGenerationResult;)Ljava/util/function/BiConsumer;
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:
(Ljava/lang/Object;Ljava/lang/Object;)V
org/graalvm/compiler/lir/alloc/SaveCalleeSaveRegisters.lambda$0(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/lir/LIRInsertionBuffer;ILorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/Variable;)V (6)
(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/Variable;)V
invokevirtual org.graalvm.compiler.lir.util.RegisterMap.forEach:(Ljava/util/function/BiConsumer;)V
6: aload 7
invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.finish:()V
7: 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 8 0 lir Lorg/graalvm/compiler/lir/LIR;
0 8 1 moveFactory Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
0 8 2 lirGenRes Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
0 8 3 calleeSaveRegisters Lorg/graalvm/compiler/lir/util/RegisterMap<Lorg/graalvm/compiler/lir/Variable;>;
0 8 4 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
1 8 5 instructions Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
2 8 6 insertionIndex I
3 8 7 buffer Lorg/graalvm/compiler/lir/LIRInsertionBuffer;
Signature: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/util/RegisterMap<Lorg/graalvm/compiler/lir/Variable;>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
MethodParameters:
Name Flags
lir
moveFactory
lirGenRes
calleeSaveRegisters
block
protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, java.lang.Object);
descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
checkcast org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext
invokevirtual org.graalvm.compiler.lir.alloc.SaveCalleeSaveRegisters.run:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/PreAllocationOptimizationPhase$PreAllocationOptimizationContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$0(org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory, org.graalvm.compiler.lir.LIRInsertionBuffer, int, org.graalvm.compiler.lir.gen.LIRGenerationResult, jdk.vm.ci.code.Register, org.graalvm.compiler.lir.Variable);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/lir/LIRInsertionBuffer;ILorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/Variable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=7, args_size=6
start local 4 start local 5 0: aload 0
aload 4
aload 5
invokevirtual org.graalvm.compiler.lir.Variable.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
aload 5
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
astore 6
start local 6 1: aload 1
iload 2
aload 6
invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.append:(ILorg/graalvm/compiler/lir/LIRInstruction;)V
2: aload 6
aload 3
ldc "SaveCalleeSavedRegisters: restoreAtExit"
invokevirtual org.graalvm.compiler.lir.LIRInstruction.setComment:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/String;)V
end local 6 3: return
end local 5 end local 4 LocalVariableTable:
Start End Slot Name Signature
0 4 4 register Ljdk/vm/ci/code/Register;
0 4 5 saved Lorg/graalvm/compiler/lir/Variable;
1 3 6 restore Lorg/graalvm/compiler/lir/LIRInstruction;
}
SourceFile: "SaveCalleeSaveRegisters.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register
public abstract BlockEndOp = org.graalvm.compiler.lir.StandardOp$BlockEndOp of org.graalvm.compiler.lir.StandardOp
public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool
public final PreAllocationOptimizationContext = org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase$PreAllocationOptimizationContext of org.graalvm.compiler.lir.phases.PreAllocationOptimizationPhase