class org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase<T extends java.lang.Number> implements org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64CodeGenTestCase
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase
super_class: java.lang.Object
{
final T value;
descriptor: Ljava/lang/Number;
flags: (0x0010) ACC_FINAL
Signature: TT;
final int size;
descriptor: I
flags: (0x0010) ACC_FINAL
final org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest this$0;
descriptor: Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
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/asm/aarch64/test/AArch64BitCountAssemblerTest;
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.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(T, );
descriptor: (Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest;Ljava/lang/Number;I)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.this$0:Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest;
aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.$assertionsDisabled:Z
ifne 2
aload 2
instanceof java.lang.Integer
ifne 2
aload 2
instanceof java.lang.Long
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest java.lang.Number int
StackMap stack:
aload 0
aload 2
putfield org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.value:Ljava/lang/Number;
3: aload 0
iload 3
putfield org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.size:I
4: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase<TT;>;
0 5 2 x TT;
0 5 3 size I
Signature: (TT;I)V
MethodParameters:
Name Flags
this$0 final
x
size
T getValue();
descriptor: ()Ljava/lang/Number;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.value:Ljava/lang/Number;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase<TT;>;
Signature: ()TT;
public org.graalvm.compiler.asm.test.AssemblerTest$CodeGenTest create();
descriptor: ()Lorg/graalvm/compiler/asm/test/AssemblerTest$CodeGenTest;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic generateCode(Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase;)Lorg/graalvm/compiler/asm/test/AssemblerTest$CodeGenTest;
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:
(Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterConfig;Ljdk/vm/ci/code/CallingConvention;)[B
org/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.lambda$0(Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterConfig;Ljdk/vm/ci/code/CallingConvention;)[B (7)
(Lorg/graalvm/compiler/code/CompilationResult;Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterConfig;Ljdk/vm/ci/code/CallingConvention;)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase<TT;>;
public int getExpected();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.value:Ljava/lang/Number;
instanceof java.lang.Integer
ifeq 2
1: aload 0
getfield org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.value:Ljava/lang/Number;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.lang.Integer.bitCount:(I)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.value:Ljava/lang/Number;
instanceof java.lang.Long
ifeq 4
3: aload 0
getfield org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.value:Ljava/lang/Number;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokestatic java.lang.Long.bitCount:(J)I
ireturn
4: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase<TT;>;
private byte[] lambda$0(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: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
dup
aload 2
invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
astore 5
start local 5 1: aload 3
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokeinterface jdk.vm.ci.code.RegisterConfig.getReturnRegister:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/Register;
astore 6
start local 6 2: aload 4
iconst_0
invokevirtual jdk.vm.ci.code.CallingConvention.getArgument:(I)Ljdk/vm/ci/meta/AllocatableValue;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 7
start local 7 3: aload 3
getstatic jdk.vm.ci.aarch64.AArch64Kind.V64_BYTE:Ljdk/vm/ci/aarch64/AArch64Kind;
aload 3
invokeinterface jdk.vm.ci.code.RegisterConfig.getAllocatableRegisters:()Ljdk/vm/ci/code/RegisterArray;
invokeinterface jdk.vm.ci.code.RegisterConfig.filterAllocatableRegisters:(Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/code/RegisterArray;)Ljdk/vm/ci/code/RegisterArray;
astore 8
start local 8 4: aload 5
aload 0
getfield org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase.size:I
aload 6
aload 7
aload 8
aload 8
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
iconst_1
isub
invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.popcnt:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
5: aload 5
getstatic jdk.vm.ci.aarch64.AArch64.lr:Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.ret:(Ljdk/vm/ci/code/Register;)V
6: aload 5
iconst_1
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.close:(Z)[B
areturn
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 7 0 this Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase<TT;>;
0 7 1 compResult Lorg/graalvm/compiler/code/CompilationResult;
0 7 2 target Ljdk/vm/ci/code/TargetDescription;
0 7 3 registerConfig Ljdk/vm/ci/code/RegisterConfig;
0 7 4 cc Ljdk/vm/ci/code/CallingConvention;
1 7 5 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
2 7 6 dst Ljdk/vm/ci/code/Register;
3 7 7 src Ljdk/vm/ci/code/Register;
4 7 8 registers Ljdk/vm/ci/code/RegisterArray;
}
Signature: <T:Ljava/lang/Number;>Ljava/lang/Object;Lorg/graalvm/compiler/asm/aarch64/test/AArch64BitCountAssemblerTest$AArch64CodeGenTestCase;
SourceFile: "AArch64BitCountAssemblerTest.java"
NestHost: org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private AArch64BitCountCodeGenTestCase = org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64BitCountCodeGenTestCase of org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest
public abstract AArch64CodeGenTestCase = org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest$AArch64CodeGenTestCase of org.graalvm.compiler.asm.aarch64.test.AArch64BitCountAssemblerTest
public abstract CodeGenTest = org.graalvm.compiler.asm.test.AssemblerTest$CodeGenTest of org.graalvm.compiler.asm.test.AssemblerTest