class org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec extends org.graalvm.compiler.lir.jtt.LIRTestSpecification
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec
super_class: org.graalvm.compiler.lir.jtt.LIRTestSpecification
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec this
0: .line 51
aload 0 /* this */
invokespecial org.graalvm.compiler.lir.jtt.LIRTestSpecification.<init>:()V
return
end local 0 // org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/jtt/StackMoveTest$StackCopySpec;
public void generate(org.graalvm.compiler.lir.gen.LIRGeneratorTool, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 // org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec this
start local 1 // org.graalvm.compiler.lir.gen.LIRGeneratorTool gen
start local 2 // jdk.vm.ci.meta.Value a
0: .line 54
aload 1 /* gen */
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getResult:()Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMapBuilder:()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
astore 3 /* frameMapBuilder */
start local 3 // org.graalvm.compiler.lir.framemap.FrameMapBuilder frameMapBuilder
1: .line 55
aload 0 /* this */
aload 2 /* a */
invokevirtual org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec.getValueKind:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/ValueKind;
astore 4 /* valueKind */
start local 4 // jdk.vm.ci.meta.ValueKind valueKind
2: .line 58
aload 3 /* frameMapBuilder */
aload 4 /* valueKind */
invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilder.allocateSpillSlot:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/VirtualStackSlot;
astore 5 /* s1 */
start local 5 // org.graalvm.compiler.lir.VirtualStackSlot s1
3: .line 59
aload 3 /* frameMapBuilder */
aload 4 /* valueKind */
invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilder.allocateSpillSlot:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/VirtualStackSlot;
astore 6 /* s2 */
start local 6 // org.graalvm.compiler.lir.VirtualStackSlot s2
4: .line 62
aload 1 /* gen */
aload 5 /* s1 */
aload 2 /* a */
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
5: .line 63
aload 1 /* gen */
aload 5 /* s1 */
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
astore 7 /* copy1 */
start local 7 // jdk.vm.ci.meta.Value copy1
6: .line 64
aload 1 /* gen */
aload 1 /* gen */
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getSpillMoveFactory:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
aload 6 /* s2 */
aload 5 /* s1 */
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createStackMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/LIRInstruction;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
7: .line 65
aload 1 /* gen */
aload 6 /* s2 */
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
astore 8 /* result */
start local 8 // org.graalvm.compiler.lir.Variable result
8: .line 69
aload 0 /* this */
aload 8 /* result */
invokevirtual org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec.setResult:(Ljdk/vm/ci/meta/Value;)V
9: .line 70
aload 0 /* this */
ldc "slotcopy"
aload 7 /* copy1 */
invokevirtual org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec.setOutput:(Ljava/lang/String;Ljdk/vm/ci/meta/Value;)V
10: .line 71
aload 0 /* this */
ldc "slot1"
aload 5 /* s1 */
invokevirtual org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec.setOutput:(Ljava/lang/String;Ljdk/vm/ci/meta/Value;)V
11: .line 72
aload 0 /* this */
ldc "slot2"
aload 6 /* s2 */
invokevirtual org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec.setOutput:(Ljava/lang/String;Ljdk/vm/ci/meta/Value;)V
12: .line 73
return
end local 8 // org.graalvm.compiler.lir.Variable result
end local 7 // jdk.vm.ci.meta.Value copy1
end local 6 // org.graalvm.compiler.lir.VirtualStackSlot s2
end local 5 // org.graalvm.compiler.lir.VirtualStackSlot s1
end local 4 // jdk.vm.ci.meta.ValueKind valueKind
end local 3 // org.graalvm.compiler.lir.framemap.FrameMapBuilder frameMapBuilder
end local 2 // jdk.vm.ci.meta.Value a
end local 1 // org.graalvm.compiler.lir.gen.LIRGeneratorTool gen
end local 0 // org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/lir/jtt/StackMoveTest$StackCopySpec;
0 13 1 gen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 13 2 a Ljdk/vm/ci/meta/Value;
1 13 3 frameMapBuilder Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
2 13 4 valueKind Ljdk/vm/ci/meta/ValueKind<*>;
3 13 5 s1 Lorg/graalvm/compiler/lir/VirtualStackSlot;
4 13 6 s2 Lorg/graalvm/compiler/lir/VirtualStackSlot;
6 13 7 copy1 Ljdk/vm/ci/meta/Value;
8 13 8 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
gen
a
protected jdk.vm.ci.meta.ValueKind<?> getValueKind(jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/ValueKind;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 // org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec this
start local 1 // jdk.vm.ci.meta.Value value
0: .line 76
aload 1 /* value */
invokevirtual jdk.vm.ci.meta.Value.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
areturn
end local 1 // jdk.vm.ci.meta.Value value
end local 0 // org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/jtt/StackMoveTest$StackCopySpec;
0 1 1 value Ljdk/vm/ci/meta/Value;
Signature: (Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/ValueKind<*>;
MethodParameters:
Name Flags
value
}
SourceFile: "StackMoveTest.java"
NestHost: org.graalvm.compiler.lir.jtt.StackMoveTest
InnerClasses:
public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool
private StackCopySpec = org.graalvm.compiler.lir.jtt.StackMoveTest$StackCopySpec of org.graalvm.compiler.lir.jtt.StackMoveTest