public class org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig extends org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig
super_class: org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig
{
static final jdk.vm.ci.code.Register[] registerAllocationOrder;
descriptor: [Ljdk/vm/ci/code/Register;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 100
bipush 60
anewarray jdk.vm.ci.code.Register
dup
iconst_0
1: .line 101
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
dup
bipush 8
2: .line 102
getstatic jdk.vm.ci.aarch64.AArch64.r8:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 9
getstatic jdk.vm.ci.aarch64.AArch64.r9:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 10
getstatic jdk.vm.ci.aarch64.AArch64.r10:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 11
getstatic jdk.vm.ci.aarch64.AArch64.r11:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 12
getstatic jdk.vm.ci.aarch64.AArch64.r12:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 13
getstatic jdk.vm.ci.aarch64.AArch64.r13:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 14
getstatic jdk.vm.ci.aarch64.AArch64.r14:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 15
getstatic jdk.vm.ci.aarch64.AArch64.r15:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 16
3: .line 103
getstatic jdk.vm.ci.aarch64.AArch64.r16:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 17
getstatic jdk.vm.ci.aarch64.AArch64.r17:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 18
getstatic jdk.vm.ci.aarch64.AArch64.r18:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 19
getstatic jdk.vm.ci.aarch64.AArch64.r19:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 20
getstatic jdk.vm.ci.aarch64.AArch64.r20:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 21
getstatic jdk.vm.ci.aarch64.AArch64.r21:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 22
getstatic jdk.vm.ci.aarch64.AArch64.r22:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 23
getstatic jdk.vm.ci.aarch64.AArch64.r23:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 24
4: .line 104
getstatic jdk.vm.ci.aarch64.AArch64.r24:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 25
getstatic jdk.vm.ci.aarch64.AArch64.r25:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 26
getstatic jdk.vm.ci.aarch64.AArch64.r26:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 27
getstatic jdk.vm.ci.aarch64.AArch64.r28:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 28
5: .line 106
getstatic jdk.vm.ci.aarch64.AArch64.v0:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 29
getstatic jdk.vm.ci.aarch64.AArch64.v1:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 30
getstatic jdk.vm.ci.aarch64.AArch64.v2:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 31
getstatic jdk.vm.ci.aarch64.AArch64.v3:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 32
getstatic jdk.vm.ci.aarch64.AArch64.v4:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 33
getstatic jdk.vm.ci.aarch64.AArch64.v5:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 34
getstatic jdk.vm.ci.aarch64.AArch64.v6:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 35
getstatic jdk.vm.ci.aarch64.AArch64.v7:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 36
6: .line 107
getstatic jdk.vm.ci.aarch64.AArch64.v8:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 37
getstatic jdk.vm.ci.aarch64.AArch64.v9:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 38
getstatic jdk.vm.ci.aarch64.AArch64.v10:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 39
getstatic jdk.vm.ci.aarch64.AArch64.v11:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 40
getstatic jdk.vm.ci.aarch64.AArch64.v12:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 41
getstatic jdk.vm.ci.aarch64.AArch64.v13:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 42
getstatic jdk.vm.ci.aarch64.AArch64.v14:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 43
getstatic jdk.vm.ci.aarch64.AArch64.v15:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 44
7: .line 108
getstatic jdk.vm.ci.aarch64.AArch64.v16:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 45
getstatic jdk.vm.ci.aarch64.AArch64.v17:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 46
getstatic jdk.vm.ci.aarch64.AArch64.v18:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 47
getstatic jdk.vm.ci.aarch64.AArch64.v19:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 48
getstatic jdk.vm.ci.aarch64.AArch64.v20:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 49
getstatic jdk.vm.ci.aarch64.AArch64.v21:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 50
getstatic jdk.vm.ci.aarch64.AArch64.v22:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 51
getstatic jdk.vm.ci.aarch64.AArch64.v23:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 52
8: .line 109
getstatic jdk.vm.ci.aarch64.AArch64.v24:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 53
getstatic jdk.vm.ci.aarch64.AArch64.v25:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 54
getstatic jdk.vm.ci.aarch64.AArch64.v26:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 55
getstatic jdk.vm.ci.aarch64.AArch64.v27:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 56
getstatic jdk.vm.ci.aarch64.AArch64.v28:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 57
getstatic jdk.vm.ci.aarch64.AArch64.v29:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 58
getstatic jdk.vm.ci.aarch64.AArch64.v30:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 59
getstatic jdk.vm.ci.aarch64.AArch64.v31:Ljdk/vm/ci/code/Register;
aastore
9: .line 100
putstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig.registerAllocationOrder:[Ljdk/vm/ci/code/Register;
10: .line 110
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.code.RegisterConfig, java.lang.String[]);
descriptor: (Ljdk/vm/ci/code/RegisterConfig;[Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 // org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig this
start local 1 // jdk.vm.ci.code.RegisterConfig registerConfig
start local 2 // java.lang.String[] allocationRestrictedTo
0: .line 114
aload 0 /* this */
aload 1 /* registerConfig */
aload 2 /* allocationRestrictedTo */
invokespecial org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig.<init>:(Ljdk/vm/ci/code/RegisterConfig;[Ljava/lang/String;)V
1: .line 115
return
end local 2 // java.lang.String[] allocationRestrictedTo
end local 1 // jdk.vm.ci.code.RegisterConfig registerConfig
end local 0 // org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotRegisterAllocationConfig;
0 2 1 registerConfig Ljdk/vm/ci/code/RegisterConfig;
0 2 2 allocationRestrictedTo [Ljava/lang/String;
MethodParameters:
Name Flags
registerConfig
allocationRestrictedTo
protected jdk.vm.ci.code.RegisterArray initAllocatable(jdk.vm.ci.code.RegisterArray);
descriptor: (Ljdk/vm/ci/code/RegisterArray;)Ljdk/vm/ci/code/RegisterArray;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=2
start local 0 // org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig this
start local 1 // jdk.vm.ci.code.RegisterArray registers
0: .line 119
new java.util.BitSet
dup
aload 0 /* this */
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig.registerConfig:Ljdk/vm/ci/code/RegisterConfig;
invokeinterface jdk.vm.ci.code.RegisterConfig.getAllocatableRegisters:()Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
invokespecial java.util.BitSet.<init>:(I)V
astore 2 /* regMap */
start local 2 // java.util.BitSet regMap
1: .line 120
aload 1 /* registers */
invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig jdk.vm.ci.code.RegisterArray java.util.BitSet top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.Register
astore 3 /* reg */
start local 3 // jdk.vm.ci.code.Register reg
3: .line 121
aload 2 /* regMap */
aload 3 /* reg */
getfield jdk.vm.ci.code.Register.number:I
invokevirtual java.util.BitSet.set:(I)V
end local 3 // jdk.vm.ci.code.Register reg
4: .line 120
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: .line 124
new java.util.ArrayList
dup
aload 1 /* registers */
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3 /* allocatableRegisters */
start local 3 // java.util.ArrayList allocatableRegisters
6: .line 125
getstatic org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig.registerAllocationOrder:[Ljdk/vm/ci/code/Register;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 11
StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig jdk.vm.ci.code.RegisterArray java.util.BitSet java.util.ArrayList top int int jdk.vm.ci.code.Register[]
StackMap stack:
7: aload 7
iload 5
aaload
astore 4 /* reg */
start local 4 // jdk.vm.ci.code.Register reg
8: .line 126
aload 2 /* regMap */
aload 4 /* reg */
getfield jdk.vm.ci.code.Register.number:I
invokevirtual java.util.BitSet.get:(I)Z
ifeq 10
9: .line 127
aload 3 /* allocatableRegisters */
aload 4 /* reg */
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 // jdk.vm.ci.code.Register reg
10: .line 125
StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 6
if_icmplt 7
12: .line 131
aload 0 /* this */
new jdk.vm.ci.code.RegisterArray
dup
aload 3 /* allocatableRegisters */
invokespecial jdk.vm.ci.code.RegisterArray.<init>:(Ljava/util/Collection;)V
invokespecial org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig.initAllocatable:(Ljdk/vm/ci/code/RegisterArray;)Ljdk/vm/ci/code/RegisterArray;
areturn
end local 3 // java.util.ArrayList allocatableRegisters
end local 2 // java.util.BitSet regMap
end local 1 // jdk.vm.ci.code.RegisterArray registers
end local 0 // org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotRegisterAllocationConfig this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotRegisterAllocationConfig;
0 13 1 registers Ljdk/vm/ci/code/RegisterArray;
1 13 2 regMap Ljava/util/BitSet;
3 4 3 reg Ljdk/vm/ci/code/Register;
6 13 3 allocatableRegisters Ljava/util/ArrayList<Ljdk/vm/ci/code/Register;>;
8 10 4 reg Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
registers
}
SourceFile: "AArch64HotSpotRegisterAllocationConfig.java"