class org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig extends org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig
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 79
bipush 30
anewarray jdk.vm.ci.code.Register
dup
iconst_0
1: .line 80
getstatic jdk.vm.ci.amd64.AMD64.r10:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.amd64.AMD64.r11:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.amd64.AMD64.r8:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.amd64.AMD64.r9:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.amd64.AMD64.r12:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 6
getstatic jdk.vm.ci.amd64.AMD64.rbx:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 7
getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 8
getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 9
getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 10
getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 11
getstatic jdk.vm.ci.amd64.AMD64.rbp:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 12
getstatic jdk.vm.ci.amd64.AMD64.r13:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 13
getstatic jdk.vm.ci.amd64.AMD64.r14:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 14
2: .line 81
getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 15
getstatic jdk.vm.ci.amd64.AMD64.xmm1:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 16
getstatic jdk.vm.ci.amd64.AMD64.xmm2:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 17
getstatic jdk.vm.ci.amd64.AMD64.xmm3:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 18
getstatic jdk.vm.ci.amd64.AMD64.xmm4:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 19
getstatic jdk.vm.ci.amd64.AMD64.xmm5:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 20
getstatic jdk.vm.ci.amd64.AMD64.xmm6:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 21
getstatic jdk.vm.ci.amd64.AMD64.xmm7:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 22
3: .line 82
getstatic jdk.vm.ci.amd64.AMD64.xmm8:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 23
getstatic jdk.vm.ci.amd64.AMD64.xmm9:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 24
getstatic jdk.vm.ci.amd64.AMD64.xmm10:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 25
getstatic jdk.vm.ci.amd64.AMD64.xmm11:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 26
getstatic jdk.vm.ci.amd64.AMD64.xmm12:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 27
getstatic jdk.vm.ci.amd64.AMD64.xmm13:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 28
getstatic jdk.vm.ci.amd64.AMD64.xmm14:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 29
getstatic jdk.vm.ci.amd64.AMD64.xmm15:Ljdk/vm/ci/code/Register;
aastore
4: .line 79
putstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig.registerAllocationOrder:[Ljdk/vm/ci/code/Register;
5: .line 83
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.vm.ci.code.RegisterConfig, java.lang.String[]);
descriptor: (Ljdk/vm/ci/code/RegisterConfig;[Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig this
start local 1 // jdk.vm.ci.code.RegisterConfig registerConfig
start local 2 // java.lang.String[] allocationRestrictedTo
0: .line 87
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 88
return
end local 2 // java.lang.String[] allocationRestrictedTo
end local 1 // jdk.vm.ci.code.RegisterConfig registerConfig
end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotRegisterAllocationConfig;
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.amd64.AMD64HotSpotRegisterAllocationConfig this
start local 1 // jdk.vm.ci.code.RegisterArray registers
0: .line 92
new java.util.BitSet
dup
aload 0 /* this */
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig.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 93
aload 1 /* registers */
invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig 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 94
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 93
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: .line 97
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 98
getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig.registerAllocationOrder:[Ljdk/vm/ci/code/Register;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 11
StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotRegisterAllocationConfig 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 99
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 100
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 98
StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 6
if_icmplt 7
12: .line 104
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.amd64.AMD64HotSpotRegisterAllocationConfig this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotRegisterAllocationConfig;
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: "AMD64HotSpotRegisterAllocationConfig.java"