public class jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig implements jdk.vm.ci.code.RegisterConfig
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig
super_class: java.lang.Object
{
private final jdk.vm.ci.code.TargetDescription target;
descriptor: Ljdk/vm/ci/code/TargetDescription;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray allocatable;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray callerSaved;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean allAllocatableAreCallerSaved;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterAttributes[] attributesMap;
descriptor: [Ljdk/vm/ci/code/RegisterAttributes;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray javaGeneralParameterRegisters;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray nativeGeneralParameterRegisters;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray simdParameterRegisters;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final jdk.vm.ci.code.Register inlineCacheRegister;
descriptor: Ljdk/vm/ci/code/Register;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.vm.ci.code.Register metaspaceMethodRegister;
descriptor: Ljdk/vm/ci/code/Register;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.vm.ci.code.Register platformRegister;
descriptor: Ljdk/vm/ci/code/Register;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.vm.ci.code.Register heapBaseRegister;
descriptor: Ljdk/vm/ci/code/Register;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.vm.ci.code.Register threadRegister;
descriptor: Ljdk/vm/ci/code/Register;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final jdk.vm.ci.code.Register fp;
descriptor: Ljdk/vm/ci/code/Register;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final jdk.vm.ci.code.RegisterArray reservedRegisters;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: ldc Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
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 jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.$assertionsDisabled:Z
3: getstatic jdk.vm.ci.aarch64.AArch64.rscratch2:Ljdk/vm/ci/code/Register;
putstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.inlineCacheRegister:Ljdk/vm/ci/code/Register;
4: getstatic jdk.vm.ci.aarch64.AArch64.r12:Ljdk/vm/ci/code/Register;
putstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.metaspaceMethodRegister:Ljdk/vm/ci/code/Register;
5: getstatic jdk.vm.ci.aarch64.AArch64.r18:Ljdk/vm/ci/code/Register;
putstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.platformRegister:Ljdk/vm/ci/code/Register;
6: getstatic jdk.vm.ci.aarch64.AArch64.r27:Ljdk/vm/ci/code/Register;
putstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.heapBaseRegister:Ljdk/vm/ci/code/Register;
7: getstatic jdk.vm.ci.aarch64.AArch64.r28:Ljdk/vm/ci/code/Register;
putstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.threadRegister:Ljdk/vm/ci/code/Register;
8: getstatic jdk.vm.ci.aarch64.AArch64.r29:Ljdk/vm/ci/code/Register;
putstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.fp:Ljdk/vm/ci/code/Register;
9: new jdk.vm.ci.code.RegisterArray
dup
bipush 8
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.aarch64.AArch64.rscratch1:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.aarch64.AArch64.rscratch2:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.threadRegister:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.fp:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.aarch64.AArch64.lr:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.aarch64.AArch64.r31:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 6
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 7
getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.reservedRegisters:Ljdk/vm/ci/code/RegisterArray;
return
LocalVariableTable:
Start End Slot Name Signature
public jdk.vm.ci.code.RegisterArray getAllocatableRegisters();
descriptor: ()Ljdk/vm/ci/code/RegisterArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.allocatable:Ljdk/vm/ci/code/RegisterArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
public jdk.vm.ci.code.RegisterArray filterAllocatableRegisters(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.code.RegisterArray);
descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/code/RegisterArray;)Ljdk/vm/ci/code/RegisterArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 2
invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig jdk.vm.ci.meta.PlatformKind jdk.vm.ci.code.RegisterArray java.util.ArrayList top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.Register
astore 4
start local 4 3: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 4
invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
aload 1
invokevirtual jdk.vm.ci.code.Architecture.canStoreValue:(Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/meta/PlatformKind;)Z
ifeq 5
4: aload 3
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: new jdk.vm.ci.code.RegisterArray
dup
aload 3
invokespecial jdk.vm.ci.code.RegisterArray.<init>:(Ljava/util/Collection;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
0 7 1 kind Ljdk/vm/ci/meta/PlatformKind;
0 7 2 registers Ljdk/vm/ci/code/RegisterArray;
1 7 3 list Ljava/util/ArrayList<Ljdk/vm/ci/code/Register;>;
3 5 4 reg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
kind
registers
public jdk.vm.ci.code.RegisterAttributes[] getAttributesMap();
descriptor: ()[Ljdk/vm/ci/code/RegisterAttributes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.attributesMap:[Ljdk/vm/ci/code/RegisterAttributes;
invokevirtual jdk.vm.ci.code.RegisterAttributes[].clone:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.RegisterAttributes[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
private static jdk.vm.ci.code.RegisterArray initAllocatable(jdk.vm.ci.code.Architecture, boolean, boolean);
descriptor: (Ljdk/vm/ci/code/Architecture;ZZ)Ljdk/vm/ci/code/RegisterArray;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.vm.ci.code.Architecture.getAvailableValueRegisters:()Ljdk/vm/ci/code/RegisterArray;
astore 3
start local 3 1: aload 3
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.reservedRegisters:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
isub
iload 1
ifeq 2
iconst_1
goto 3
StackMap locals: jdk.vm.ci.code.Architecture int int jdk.vm.ci.code.RegisterArray
StackMap stack: int
2: iconst_0
StackMap locals: jdk.vm.ci.code.Architecture int int jdk.vm.ci.code.RegisterArray
StackMap stack: int int
3: isub
iload 2
ifne 4
iconst_1
goto 5
StackMap locals:
StackMap stack: int
4: iconst_0
StackMap locals: jdk.vm.ci.code.Architecture int int jdk.vm.ci.code.RegisterArray
StackMap stack: int int
5: isub
anewarray jdk.vm.ci.code.Register
astore 4
start local 4 6: getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.reservedRegisters:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.asList:()Ljava/util/List;
astore 5
start local 5 7: iconst_0
istore 6
start local 6 8: aload 3
invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
astore 8
goto 19
StackMap locals: jdk.vm.ci.code.Architecture int int jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.Register[] java.util.List int top java.util.Iterator
StackMap stack:
9: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.Register
astore 7
start local 7 10: aload 5
aload 7
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 12
11: goto 19
12: StackMap locals: jdk.vm.ci.code.Architecture int int jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.Register[] java.util.List int jdk.vm.ci.code.Register java.util.Iterator
StackMap stack:
iload 2
ifne 14
aload 7
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.platformRegister:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 14
13: goto 19
14: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.$assertionsDisabled:Z
ifne 16
aload 7
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.threadRegister:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 15
aload 7
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.fp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 15
aload 7
getstatic jdk.vm.ci.aarch64.AArch64.lr:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 15
aload 7
getstatic jdk.vm.ci.aarch64.AArch64.r31:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 15
aload 7
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifne 15
aload 7
getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 16
StackMap locals:
StackMap stack:
15: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
iload 1
ifeq 18
aload 7
getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.heapBaseRegister:Ljdk/vm/ci/code/Register;
invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
ifeq 18
17: goto 19
18: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 7
aastore
end local 7 19: StackMap locals: jdk.vm.ci.code.Architecture int int jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.Register[] java.util.List int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
20: getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.$assertionsDisabled:Z
ifne 21
iload 6
aload 4
arraylength
if_icmpeq 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals: jdk.vm.ci.code.Architecture int int jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.Register[] java.util.List int
StackMap stack:
new jdk.vm.ci.code.RegisterArray
dup
aload 4
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
areturn
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 22 0 arch Ljdk/vm/ci/code/Architecture;
0 22 1 reserveForHeapBase Z
0 22 2 canUsePlatformRegister Z
1 22 3 allRegisters Ljdk/vm/ci/code/RegisterArray;
6 22 4 registers [Ljdk/vm/ci/code/Register;
7 22 5 reservedRegistersList Ljava/util/List<Ljdk/vm/ci/code/Register;>;
8 22 6 idx I
10 19 7 reg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
arch
reserveForHeapBase
canUsePlatformRegister
public void <init>(jdk.vm.ci.code.TargetDescription, boolean, boolean);
descriptor: (Ljdk/vm/ci/code/TargetDescription;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 1
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
iload 2
iload 3
invokestatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.initAllocatable:(Ljdk/vm/ci/code/Architecture;ZZ)Ljdk/vm/ci/code/RegisterArray;
invokespecial jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.<init>:(Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterArray;)V
1: getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.$assertionsDisabled:Z
ifne 2
aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.callerSaved:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.allocatable:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
if_icmpge 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig jdk.vm.ci.code.TargetDescription int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
0 3 1 target Ljdk/vm/ci/code/TargetDescription;
0 3 2 useCompressedOops Z
0 3 3 canUsePlatformRegister Z
MethodParameters:
Name Flags
target
useCompressedOops
canUsePlatformRegister
public void <init>(jdk.vm.ci.code.TargetDescription, jdk.vm.ci.code.RegisterArray);
descriptor: (Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterArray;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new jdk.vm.ci.code.RegisterArray
dup
bipush 8
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.aarch64.AArch64.r1:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.aarch64.AArch64.r2:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.aarch64.AArch64.r3:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.aarch64.AArch64.r4:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.aarch64.AArch64.r5:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.aarch64.AArch64.r6:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 6
getstatic jdk.vm.ci.aarch64.AArch64.r7:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 7
getstatic jdk.vm.ci.aarch64.AArch64.r0:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.javaGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
2: aload 0
new jdk.vm.ci.code.RegisterArray
dup
bipush 8
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.aarch64.AArch64.r0:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.aarch64.AArch64.r1:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.aarch64.AArch64.r2:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.aarch64.AArch64.r3:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.aarch64.AArch64.r4:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.aarch64.AArch64.r5:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 6
getstatic jdk.vm.ci.aarch64.AArch64.r6:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 7
getstatic jdk.vm.ci.aarch64.AArch64.r7:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.nativeGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
3: aload 0
new jdk.vm.ci.code.RegisterArray
dup
bipush 8
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.aarch64.AArch64.v0:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.aarch64.AArch64.v1:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.aarch64.AArch64.v2:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.aarch64.AArch64.v3:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.aarch64.AArch64.v4:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.aarch64.AArch64.v5:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 6
getstatic jdk.vm.ci.aarch64.AArch64.v6:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 7
getstatic jdk.vm.ci.aarch64.AArch64.v7:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.simdParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
4: aload 0
aload 1
putfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
5: aload 0
aload 2
putfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.allocatable:Ljdk/vm/ci/code/RegisterArray;
6: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 7: aload 2
aload 3
invokevirtual jdk.vm.ci.code.RegisterArray.addTo:(Ljava/util/Collection;)V
8: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.simdParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
aload 3
invokevirtual jdk.vm.ci.code.RegisterArray.addTo:(Ljava/util/Collection;)V
9: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.javaGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
aload 3
invokevirtual jdk.vm.ci.code.RegisterArray.addTo:(Ljava/util/Collection;)V
10: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.nativeGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
aload 3
invokevirtual jdk.vm.ci.code.RegisterArray.addTo:(Ljava/util/Collection;)V
11: aload 0
new jdk.vm.ci.code.RegisterArray
dup
aload 3
invokespecial jdk.vm.ci.code.RegisterArray.<init>:(Ljava/util/Collection;)V
putfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.callerSaved:Ljdk/vm/ci/code/RegisterArray;
12: aload 0
iconst_1
putfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.allAllocatableAreCallerSaved:Z
13: aload 0
aload 0
getstatic jdk.vm.ci.aarch64.AArch64.allRegisters:Ljdk/vm/ci/code/RegisterArray;
invokestatic jdk.vm.ci.code.RegisterAttributes.createMap:(Ljdk/vm/ci/code/RegisterConfig;Ljdk/vm/ci/code/RegisterArray;)[Ljdk/vm/ci/code/RegisterAttributes;
putfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.attributesMap:[Ljdk/vm/ci/code/RegisterAttributes;
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
0 15 1 target Ljdk/vm/ci/code/TargetDescription;
0 15 2 allocatable Ljdk/vm/ci/code/RegisterArray;
7 15 3 callerSaveSet Ljava/util/Set<Ljdk/vm/ci/code/Register;>;
MethodParameters:
Name Flags
target
allocatable
public jdk.vm.ci.code.RegisterArray getCallerSaveRegisters();
descriptor: ()Ljdk/vm/ci/code/RegisterArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.callerSaved:Ljdk/vm/ci/code/RegisterArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
public jdk.vm.ci.code.RegisterArray getCalleeSaveRegisters();
descriptor: ()Ljdk/vm/ci/code/RegisterArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
public boolean areAllAllocatableRegistersCallerSaved();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.allAllocatableAreCallerSaved:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
public jdk.vm.ci.code.CallingConvention getCallingConvention(jdk.vm.ci.code.CallingConvention$Type, jdk.vm.ci.meta.JavaType, jdk.vm.ci.meta.JavaType[], jdk.vm.ci.code.ValueKindFactory<?>);
descriptor: (Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
checkcast jdk.vm.ci.hotspot.HotSpotCallingConventionType
astore 5
start local 5 1: aload 1
getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
if_acmpne 3
2: aload 0
aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.nativeGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
aload 2
aload 3
aload 5
aload 4
invokevirtual jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.callingConvention:(Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
areturn
3: StackMap locals: jdk.vm.ci.hotspot.HotSpotCallingConventionType
StackMap stack:
aload 0
aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.javaGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
aload 2
aload 3
aload 5
aload 4
invokevirtual jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.callingConvention:(Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
areturn
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 4 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
0 4 1 type Ljdk/vm/ci/code/CallingConvention$Type;
0 4 2 returnType Ljdk/vm/ci/meta/JavaType;
0 4 3 parameterTypes [Ljdk/vm/ci/meta/JavaType;
0 4 4 valueKindFactory Ljdk/vm/ci/code/ValueKindFactory<*>;
1 4 5 hotspotType Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
Signature: (Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/code/ValueKindFactory<*>;)Ljdk/vm/ci/code/CallingConvention;
MethodParameters:
Name Flags
type
returnType
parameterTypes
valueKindFactory
public jdk.vm.ci.code.RegisterArray getCallingConventionRegisters(jdk.vm.ci.code.CallingConvention$Type, jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/RegisterArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast jdk.vm.ci.hotspot.HotSpotCallingConventionType
astore 3
start local 3 1: invokestatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 2
2: 2
3: 2
4: 2
5: 2
6: 5
7: 2
8: 5
9: 2
default: 6
}
2: StackMap locals: jdk.vm.ci.hotspot.HotSpotCallingConventionType
StackMap stack:
aload 3
getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
if_acmpne 3
aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.nativeGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
goto 4
StackMap locals:
StackMap stack:
3: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.javaGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
StackMap locals:
StackMap stack: jdk.vm.ci.code.RegisterArray
4: areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.simdParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
areturn
6: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
0 7 1 type Ljdk/vm/ci/code/CallingConvention$Type;
0 7 2 kind Ljdk/vm/ci/meta/JavaKind;
1 7 3 hotspotType Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
MethodParameters:
Name Flags
type
kind
private jdk.vm.ci.code.CallingConvention callingConvention(jdk.vm.ci.code.RegisterArray, jdk.vm.ci.meta.JavaType, jdk.vm.ci.meta.JavaType[], jdk.vm.ci.hotspot.HotSpotCallingConventionType, jdk.vm.ci.code.ValueKindFactory<?>);
descriptor: (Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
arraylength
anewarray jdk.vm.ci.meta.AllocatableValue
astore 6
start local 6 1: iconst_0
istore 7
start local 7 2: iconst_0
istore 8
start local 8 3: iconst_0
istore 9
start local 9 4: iconst_0
istore 10
start local 10 5: goto 24
6: StackMap locals: jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.hotspot.HotSpotCallingConventionType jdk.vm.ci.code.ValueKindFactory jdk.vm.ci.meta.AllocatableValue[] int int int int
StackMap stack:
aload 3
iload 10
aaload
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 11
start local 11 7: invokestatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 11
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 8
2: 8
3: 8
4: 8
5: 8
6: 12
7: 8
8: 12
9: 8
default: 16
}
8: StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
iload 7
aload 1
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
if_icmpge 17
9: aload 1
iload 7
iinc 7 1
invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
astore 12
start local 12 10: aload 6
iload 10
aload 12
aload 5
aload 11
invokeinterface jdk.vm.ci.code.ValueKindFactory.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
aastore
end local 12 11: goto 17
12: StackMap locals:
StackMap stack:
iload 8
aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.simdParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
if_icmpge 17
13: aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.simdParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
iload 8
iinc 8 1
invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
astore 12
start local 12 14: aload 6
iload 10
aload 12
aload 5
aload 11
invokeinterface jdk.vm.ci.code.ValueKindFactory.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
aastore
end local 12 15: goto 17
16: StackMap locals:
StackMap stack:
invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
17: StackMap locals:
StackMap stack:
aload 6
iload 10
aaload
ifnonnull 23
18: aload 5
aload 11
invokeinterface jdk.vm.ci.code.ValueKindFactory.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
astore 12
start local 12 19: aload 6
iload 10
aload 12
iload 9
aload 4
getfield jdk.vm.ci.hotspot.HotSpotCallingConventionType.out:Z
ifeq 20
iconst_0
goto 21
StackMap locals: jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.hotspot.HotSpotCallingConventionType jdk.vm.ci.code.ValueKindFactory jdk.vm.ci.meta.AllocatableValue[] int int int int jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ValueKind
StackMap stack: jdk.vm.ci.meta.AllocatableValue[] int jdk.vm.ci.meta.ValueKind int
20: iconst_1
StackMap locals: jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.hotspot.HotSpotCallingConventionType jdk.vm.ci.code.ValueKindFactory jdk.vm.ci.meta.AllocatableValue[] int int int int jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ValueKind
StackMap stack: jdk.vm.ci.meta.AllocatableValue[] int jdk.vm.ci.meta.ValueKind int int
21: invokestatic jdk.vm.ci.code.StackSlot.get:(Ljdk/vm/ci/meta/ValueKind;IZ)Ljdk/vm/ci/code/StackSlot;
aastore
22: iload 9
aload 12
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
aload 0
getfield jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
invokestatic java.lang.Math.max:(II)I
iadd
istore 9
end local 12 end local 11 23: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
24: iload 10
aload 3
arraylength
if_icmplt 6
end local 10 25: aload 2
ifnonnull 26
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
goto 27
StackMap locals:
StackMap stack:
26: aload 2
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaKind
27: astore 10
start local 10 28: aload 10
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 29
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
goto 30
StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
29: aload 0
aload 10
invokevirtual jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.getReturnRegister:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/Register;
aload 5
aload 10
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokeinterface jdk.vm.ci.code.ValueKindFactory.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.AllocatableValue
30: astore 11
start local 11 31: new jdk.vm.ci.code.CallingConvention
dup
iload 9
aload 11
aload 6
invokespecial jdk.vm.ci.code.CallingConvention.<init>:(ILjdk/vm/ci/meta/AllocatableValue;[Ljdk/vm/ci/meta/AllocatableValue;)V
areturn
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 32 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
0 32 1 generalParameterRegisters Ljdk/vm/ci/code/RegisterArray;
0 32 2 returnType Ljdk/vm/ci/meta/JavaType;
0 32 3 parameterTypes [Ljdk/vm/ci/meta/JavaType;
0 32 4 type Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
0 32 5 valueKindFactory Ljdk/vm/ci/code/ValueKindFactory<*>;
1 32 6 locations [Ljdk/vm/ci/meta/AllocatableValue;
2 32 7 currentGeneral I
3 32 8 currentSIMD I
4 32 9 currentStackOffset I
5 25 10 i I
7 23 11 kind Ljdk/vm/ci/meta/JavaKind;
10 11 12 register Ljdk/vm/ci/code/Register;
14 15 12 register Ljdk/vm/ci/code/Register;
19 23 12 valueKind Ljdk/vm/ci/meta/ValueKind<*>;
28 32 10 returnKind Ljdk/vm/ci/meta/JavaKind;
31 32 11 returnLocation Ljdk/vm/ci/meta/AllocatableValue;
Signature: (Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;Ljdk/vm/ci/code/ValueKindFactory<*>;)Ljdk/vm/ci/code/CallingConvention;
MethodParameters:
Name Flags
generalParameterRegisters
returnType
parameterTypes
type
valueKindFactory
public jdk.vm.ci.code.Register getReturnRegister(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/Register;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 11
1: 1
2: 1
3: 1
4: 1
5: 1
6: 2
7: 1
8: 2
9: 1
10: 3
11: 3
default: 4
}
1: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.aarch64.AArch64.r0:Ljdk/vm/ci/code/Register;
areturn
2: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.aarch64.AArch64.v0:Ljdk/vm/ci/code/Register;
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "no return register for type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
0 5 1 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
kind
public jdk.vm.ci.code.Register getFrameRegister();
descriptor: ()Ljdk/vm/ci/code/Register;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.aarch64.AArch64.sp:Ljdk/vm/ci/code/Register;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Allocatable: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.getAllocatableRegisters:()Ljdk/vm/ci/code/RegisterArray;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "CallerSave: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.getCallerSaveRegisters:()Ljdk/vm/ci/code/RegisterArray;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/hotspot/aarch64/AArch64HotSpotRegisterConfig;
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic jdk.vm.ci.hotspot.aarch64.AArch64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
}
SourceFile: "AArch64HotSpotRegisterConfig.java"
InnerClasses:
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register