class org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest$3 implements org.graalvm.compiler.asm.test.AssemblerTest$CodeGenTest
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest$3
super_class: java.lang.Object
{
final org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest this$0;
descriptor: Lorg/graalvm/compiler/asm/amd64/test/SimpleAssemblerTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest);
descriptor: (Lorg/graalvm/compiler/asm/amd64/test/SimpleAssemblerTest;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest$3 this
0: .line 95
aload 0 /* this */
aload 1
putfield org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest$3.this$0:Lorg/graalvm/compiler/asm/amd64/test/SimpleAssemblerTest;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest$3 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/asm/amd64/test/SimpleAssemblerTest$3;
MethodParameters:
Name Flags
this$0 final
public byte[] generateCode(org.graalvm.compiler.code.CompilationResult, jdk.vm.ci.code.TargetDescription, jdk.vm.ci.code.RegisterConfig, jdk.vm.ci.code.CallingConvention);
descriptor: (Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterConfig;Ljdk/vm/ci/code/CallingConvention;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=5
start local 0 // org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest$3 this
start local 1 // org.graalvm.compiler.code.CompilationResult compResult
start local 2 // jdk.vm.ci.code.TargetDescription target
start local 3 // jdk.vm.ci.code.RegisterConfig registerConfig
start local 4 // jdk.vm.ci.code.CallingConvention cc
0: .line 99
new org.graalvm.compiler.asm.amd64.AMD64MacroAssembler
dup
aload 2 /* target */
invokespecial org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
astore 5 /* asm */
start local 5 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
1: .line 100
aload 3 /* registerConfig */
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokeinterface jdk.vm.ci.code.RegisterConfig.getReturnRegister:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/Register;
astore 6 /* ret */
start local 6 // jdk.vm.ci.code.Register ret
2: .line 102
bipush 8
newarray 8
astore 7 /* rawBytes */
start local 7 // byte[] rawBytes
3: .line 103
aload 7 /* rawBytes */
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
ldc 84.72
invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
pop
4: .line 104
new org.graalvm.compiler.code.DataSection$RawData
dup
aload 7 /* rawBytes */
bipush 8
invokespecial org.graalvm.compiler.code.DataSection$RawData.<init>:([BI)V
astore 8 /* data */
start local 8 // org.graalvm.compiler.code.DataSection$Data data
5: .line 105
aload 1 /* compResult */
invokevirtual org.graalvm.compiler.code.CompilationResult.getDataSection:()Lorg/graalvm/compiler/code/DataSection;
aload 8 /* data */
invokevirtual org.graalvm.compiler.code.DataSection.insertData:(Lorg/graalvm/compiler/code/DataSection$Data;)Ljdk/vm/ci/code/site/DataSectionReference;
astore 9 /* ref */
start local 9 // jdk.vm.ci.code.site.DataSectionReference ref
6: .line 106
aload 1 /* compResult */
aload 5 /* asm */
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.position:()I
aload 9 /* ref */
invokevirtual org.graalvm.compiler.code.CompilationResult.recordDataPatch:(ILjdk/vm/ci/code/site/Reference;)V
7: .line 107
aload 5 /* asm */
aload 6 /* ret */
aload 5 /* asm */
iconst_m1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.getPlaceholder:(I)Lorg/graalvm/compiler/asm/amd64/AMD64Address;
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.movdbl:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/amd64/AMD64Address;)V
8: .line 108
aload 5 /* asm */
iconst_0
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.ret:(I)V
9: .line 109
aload 5 /* asm */
iconst_1
invokevirtual org.graalvm.compiler.asm.amd64.AMD64MacroAssembler.close:(Z)[B
areturn
end local 9 // jdk.vm.ci.code.site.DataSectionReference ref
end local 8 // org.graalvm.compiler.code.DataSection$Data data
end local 7 // byte[] rawBytes
end local 6 // jdk.vm.ci.code.Register ret
end local 5 // org.graalvm.compiler.asm.amd64.AMD64MacroAssembler asm
end local 4 // jdk.vm.ci.code.CallingConvention cc
end local 3 // jdk.vm.ci.code.RegisterConfig registerConfig
end local 2 // jdk.vm.ci.code.TargetDescription target
end local 1 // org.graalvm.compiler.code.CompilationResult compResult
end local 0 // org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest$3 this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/asm/amd64/test/SimpleAssemblerTest$3;
0 10 1 compResult Lorg/graalvm/compiler/code/CompilationResult;
0 10 2 target Ljdk/vm/ci/code/TargetDescription;
0 10 3 registerConfig Ljdk/vm/ci/code/RegisterConfig;
0 10 4 cc Ljdk/vm/ci/code/CallingConvention;
1 10 5 asm Lorg/graalvm/compiler/asm/amd64/AMD64MacroAssembler;
2 10 6 ret Ljdk/vm/ci/code/Register;
3 10 7 rawBytes [B
5 10 8 data Lorg/graalvm/compiler/code/DataSection$Data;
6 10 9 ref Ljdk/vm/ci/code/site/DataSectionReference;
MethodParameters:
Name Flags
compResult
target
registerConfig
cc
}
SourceFile: "SimpleAssemblerTest.java"
EnclosingMethod: org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest.rawDoubleTest:()V
NestHost: org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest
InnerClasses:
org.graalvm.compiler.asm.amd64.test.SimpleAssemblerTest$3
public abstract CodeGenTest = org.graalvm.compiler.asm.test.AssemblerTest$CodeGenTest of org.graalvm.compiler.asm.test.AssemblerTest
public abstract Data = org.graalvm.compiler.code.DataSection$Data of org.graalvm.compiler.code.DataSection
public final RawData = org.graalvm.compiler.code.DataSection$RawData of org.graalvm.compiler.code.DataSection