public class com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig implements com.oracle.svm.core.graal.meta.SubstrateRegisterConfig
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig
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 int nativeParamsStackOffset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray javaGeneralParameterRegs;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray nativeGeneralParameterRegs;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray xmmParameterRegs;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray allocatableRegs;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray calleeSaveRegisters;
descriptor: Ljdk/vm/ci/code/RegisterArray;
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.meta.MetaAccessProvider metaAccess;
descriptor: Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean useBasePointer;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$oracle$svm$core$graal$meta$SubstrateRegisterConfig$ConfigKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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
public void <init>(com.oracle.svm.core.graal.meta.SubstrateRegisterConfig$ConfigKind, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.code.TargetDescription, boolean);
descriptor: (Lcom/oracle/svm/core/graal/meta/SubstrateRegisterConfig$ConfigKind;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/TargetDescription;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 3
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
2: aload 0
aload 2
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
3: aload 0
iload 4
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.useBasePointer:Z
4: invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
getstatic com.oracle.svm.core.OS.WINDOWS:Lcom/oracle/svm/core/OS;
if_acmpne 16
5: aload 0
new jdk.vm.ci.code.RegisterArray
dup
iconst_4
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.amd64.AMD64.rdx: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
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.nativeGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
6: aload 0
new jdk.vm.ci.code.RegisterArray
dup
bipush 6
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.amd64.AMD64.r8:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.amd64.AMD64.r9:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.javaGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
7: aload 0
new jdk.vm.ci.code.RegisterArray
dup
iconst_4
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.amd64.AMD64.xmm1:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.amd64.AMD64.xmm2:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.amd64.AMD64.xmm3:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.xmmParameterRegs:Ljdk/vm/ci/code/RegisterArray;
8: aload 0
iconst_4
aload 3
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
imul
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.nativeParamsStackOffset:I
9: new java.util.ArrayList
dup
getstatic jdk.vm.ci.amd64.AMD64.valueRegistersSSE:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.asList:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 5
start local 5 10: aload 5
invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
invokevirtual com.oracle.svm.core.ReservedRegisters.getFrameRegister:()Ljdk/vm/ci/code/Register;
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
11: aload 5
getstatic jdk.vm.ci.amd64.AMD64.rbp:Ljdk/vm/ci/code/Register;
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
12: aload 5
invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
invokevirtual com.oracle.svm.core.ReservedRegisters.getHeapBaseRegister:()Ljdk/vm/ci/code/Register;
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
13: aload 5
invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
invokevirtual com.oracle.svm.core.ReservedRegisters.getThreadRegister:()Ljdk/vm/ci/code/Register;
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
14: aload 0
new jdk.vm.ci.code.RegisterArray
dup
aload 5
invokespecial jdk.vm.ci.code.RegisterArray.<init>:(Ljava/util/Collection;)V
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.allocatableRegs:Ljdk/vm/ci/code/RegisterArray;
end local 5 15: goto 27
16: StackMap locals: com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig com.oracle.svm.core.graal.meta.SubstrateRegisterConfig$ConfigKind jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.code.TargetDescription int
StackMap stack:
aload 0
new jdk.vm.ci.code.RegisterArray
dup
bipush 6
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.amd64.AMD64.r8:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.amd64.AMD64.r9:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.javaGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
17: aload 0
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.javaGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.nativeGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
18: aload 0
new jdk.vm.ci.code.RegisterArray
dup
bipush 8
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.amd64.AMD64.xmm1:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.amd64.AMD64.xmm2:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.amd64.AMD64.xmm3:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.amd64.AMD64.xmm4:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.amd64.AMD64.xmm5:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 6
getstatic jdk.vm.ci.amd64.AMD64.xmm6:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 7
getstatic jdk.vm.ci.amd64.AMD64.xmm7:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.xmmParameterRegs:Ljdk/vm/ci/code/RegisterArray;
19: aload 0
iconst_0
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.nativeParamsStackOffset:I
20: new java.util.ArrayList
dup
getstatic jdk.vm.ci.amd64.AMD64.valueRegistersSSE:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.asList:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 5
start local 5 21: aload 5
invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
invokevirtual com.oracle.svm.core.ReservedRegisters.getFrameRegister:()Ljdk/vm/ci/code/Register;
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
22: iload 4
ifeq 24
23: aload 5
getstatic jdk.vm.ci.amd64.AMD64.rbp:Ljdk/vm/ci/code/Register;
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
24: StackMap locals: java.util.ArrayList
StackMap stack:
aload 5
invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
invokevirtual com.oracle.svm.core.ReservedRegisters.getHeapBaseRegister:()Ljdk/vm/ci/code/Register;
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
25: aload 5
invokestatic com.oracle.svm.core.ReservedRegisters.singleton:()Lcom/oracle/svm/core/ReservedRegisters;
invokevirtual com.oracle.svm.core.ReservedRegisters.getThreadRegister:()Ljdk/vm/ci/code/Register;
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
26: aload 0
new jdk.vm.ci.code.RegisterArray
dup
aload 5
invokespecial jdk.vm.ci.code.RegisterArray.<init>:(Ljava/util/Collection;)V
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.allocatableRegs:Ljdk/vm/ci/code/RegisterArray;
end local 5 27: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.$SWITCH_TABLE$com$oracle$svm$core$graal$meta$SubstrateRegisterConfig$ConfigKind:()[I
aload 1
invokevirtual com.oracle.svm.core.graal.meta.SubstrateRegisterConfig$ConfigKind.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 28
2: 30
default: 37
}
28: StackMap locals:
StackMap stack:
aload 0
new jdk.vm.ci.code.RegisterArray
dup
iconst_0
anewarray jdk.vm.ci.code.Register
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.calleeSaveRegisters:Ljdk/vm/ci/code/RegisterArray;
29: goto 38
30: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
getstatic com.oracle.svm.core.OS.WINDOWS:Lcom/oracle/svm/core/OS;
if_acmpne 35
31: aload 0
new jdk.vm.ci.code.RegisterArray
dup
bipush 18
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.amd64.AMD64.rbx:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.amd64.AMD64.r12:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.amd64.AMD64.r13:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.amd64.AMD64.r14:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 6
getstatic jdk.vm.ci.amd64.AMD64.r15:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 7
getstatic jdk.vm.ci.amd64.AMD64.rbp:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 8
32: getstatic jdk.vm.ci.amd64.AMD64.xmm6:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 9
getstatic jdk.vm.ci.amd64.AMD64.xmm7:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 10
getstatic jdk.vm.ci.amd64.AMD64.xmm8:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 11
getstatic jdk.vm.ci.amd64.AMD64.xmm9:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 12
getstatic jdk.vm.ci.amd64.AMD64.xmm10:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 13
getstatic jdk.vm.ci.amd64.AMD64.xmm11:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 14
getstatic jdk.vm.ci.amd64.AMD64.xmm12:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 15
getstatic jdk.vm.ci.amd64.AMD64.xmm13:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 16
getstatic jdk.vm.ci.amd64.AMD64.xmm14:Ljdk/vm/ci/code/Register;
aastore
dup
bipush 17
getstatic jdk.vm.ci.amd64.AMD64.xmm15:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
33: putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.calleeSaveRegisters:Ljdk/vm/ci/code/RegisterArray;
34: goto 38
35: StackMap locals:
StackMap stack:
aload 0
new jdk.vm.ci.code.RegisterArray
dup
bipush 6
anewarray jdk.vm.ci.code.Register
dup
iconst_0
getstatic jdk.vm.ci.amd64.AMD64.rbx:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_1
getstatic jdk.vm.ci.amd64.AMD64.r12:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_2
getstatic jdk.vm.ci.amd64.AMD64.r13:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_3
getstatic jdk.vm.ci.amd64.AMD64.r14:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_4
getstatic jdk.vm.ci.amd64.AMD64.r15:Ljdk/vm/ci/code/Register;
aastore
dup
iconst_5
getstatic jdk.vm.ci.amd64.AMD64.rbp:Ljdk/vm/ci/code/Register;
aastore
invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
putfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.calleeSaveRegisters:Ljdk/vm/ci/code/RegisterArray;
36: goto 38
37: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
38: StackMap locals:
StackMap stack:
aload 0
aload 0
getstatic jdk.vm.ci.amd64.AMD64.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 com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.attributesMap:[Ljdk/vm/ci/code/RegisterAttributes;
39: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
0 40 1 config Lcom/oracle/svm/core/graal/meta/SubstrateRegisterConfig$ConfigKind;
0 40 2 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 40 3 target Ljdk/vm/ci/code/TargetDescription;
0 40 4 useBasePointer Z
10 15 5 regs Ljava/util/ArrayList<Ljdk/vm/ci/code/Register;>;
21 27 5 regs Ljava/util/ArrayList<Ljdk/vm/ci/code/Register;>;
MethodParameters:
Name Flags
config
metaAccess
target
useBasePointer
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=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 10
1: 1
2: 1
3: 1
4: 1
5: 1
6: 2
7: 1
8: 2
9: 1
10: 3
default: 4
}
1: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
areturn
2: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
0 5 1 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
kind
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 com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.allocatableRegs:Ljdk/vm/ci/code/RegisterArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
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: aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.calleeSaveRegisters:Ljdk/vm/ci/code/RegisterArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
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
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.getAllocatableRegisters:()Ljdk/vm/ci/code/RegisterArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
public boolean areAllAllocatableRegistersCallerSaved();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
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 com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.attributesMap:[Ljdk/vm/ci/code/RegisterAttributes;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
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 com.oracle.svm.core.graal.code.SubstrateCallingConventionType
astore 3
start local 3 1: invokestatic com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.$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: com.oracle.svm.core.graal.code.SubstrateCallingConventionType
StackMap stack:
aload 3
getfield com.oracle.svm.core.graal.code.SubstrateCallingConventionType.nativeABI:Z
ifeq 3
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.nativeGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
goto 4
StackMap locals:
StackMap stack:
3: aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.javaGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
StackMap locals:
StackMap stack: jdk.vm.ci.code.RegisterArray
4: areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.xmmParameterRegs:Ljdk/vm/ci/code/RegisterArray;
areturn
6: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.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 Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
0 7 1 t Ljdk/vm/ci/code/CallingConvention$Type;
0 7 2 kind Ljdk/vm/ci/meta/JavaKind;
1 7 3 type Lcom/oracle/svm/core/graal/code/SubstrateCallingConventionType;
MethodParameters:
Name Flags
t
kind
public boolean shouldUseBasePointer();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.useBasePointer:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
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=7, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
checkcast com.oracle.svm.core.graal.code.SubstrateCallingConventionType
astore 5
start local 5 1: aload 5
getfield com.oracle.svm.core.graal.code.SubstrateCallingConventionType.nativeABI:Z
ifeq 2
aload 5
getfield com.oracle.svm.core.graal.code.SubstrateCallingConventionType.outgoing:Z
ifne 2
iconst_1
goto 3
StackMap locals: com.oracle.svm.core.graal.code.SubstrateCallingConventionType
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 6
start local 6 4: aload 3
arraylength
anewarray jdk.vm.ci.meta.AllocatableValue
astore 7
start local 7 5: iconst_0
istore 8
start local 8 6: iconst_0
istore 9
start local 9 7: aload 5
getfield com.oracle.svm.core.graal.code.SubstrateCallingConventionType.nativeABI:Z
ifeq 8
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.nativeParamsStackOffset:I
goto 9
StackMap locals: com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig jdk.vm.ci.code.CallingConvention$Type jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.code.ValueKindFactory com.oracle.svm.core.graal.code.SubstrateCallingConventionType int jdk.vm.ci.meta.AllocatableValue[] int int
StackMap stack:
8: aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
StackMap locals:
StackMap stack: int
9: istore 10
start local 10 10: aload 7
arraylength
anewarray jdk.vm.ci.meta.JavaKind
astore 11
start local 11 11: iconst_0
istore 12
start local 12 12: goto 39
13: StackMap locals: int jdk.vm.ci.meta.JavaKind[] int
StackMap stack:
iload 6
aload 3
iload 12
aaload
checkcast jdk.vm.ci.meta.ResolvedJavaType
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
invokestatic com.oracle.svm.core.config.ObjectLayout.getCallSignatureKind:(ZLjdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/TargetDescription;)Ljdk/vm/ci/meta/JavaKind;
astore 13
start local 13 14: aload 11
iload 12
aload 13
aastore
15: aload 5
getfield com.oracle.svm.core.graal.code.SubstrateCallingConventionType.nativeABI:Z
ifeq 18
invokestatic com.oracle.svm.core.OS.getCurrent:()Lcom/oracle/svm/core/OS;
getstatic com.oracle.svm.core.OS.WINDOWS:Lcom/oracle/svm/core/OS;
if_acmpne 18
16: iload 12
istore 8
17: iload 12
istore 9
18: StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
invokestatic com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 13
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 19
2: 19
3: 19
4: 19
5: 19
6: 27
7: 19
8: 27
9: 19
default: 31
}
19: StackMap locals:
StackMap stack:
iload 8
aload 5
getfield com.oracle.svm.core.graal.code.SubstrateCallingConventionType.nativeABI:Z
ifeq 20
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.nativeGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
goto 21
StackMap locals:
StackMap stack: int
20: aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.javaGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
StackMap locals: com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig jdk.vm.ci.code.CallingConvention$Type jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.code.ValueKindFactory com.oracle.svm.core.graal.code.SubstrateCallingConventionType int jdk.vm.ci.meta.AllocatableValue[] int int int jdk.vm.ci.meta.JavaKind[] int jdk.vm.ci.meta.JavaKind
StackMap stack: int int
21: if_icmpge 32
22: aload 5
getfield com.oracle.svm.core.graal.code.SubstrateCallingConventionType.nativeABI:Z
ifeq 23
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.nativeGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
iload 8
iinc 8 1
invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
goto 24
StackMap locals:
StackMap stack:
23: aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.javaGeneralParameterRegs:Ljdk/vm/ci/code/RegisterArray;
iload 8
iinc 8 1
invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
StackMap locals:
StackMap stack: jdk.vm.ci.code.Register
24: astore 14
start local 14 25: aload 7
iload 12
aload 14
aload 4
aload 13
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;
aastore
end local 14 26: goto 32
27: StackMap locals:
StackMap stack:
iload 9
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.xmmParameterRegs:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
if_icmpge 32
28: aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.xmmParameterRegs:Ljdk/vm/ci/code/RegisterArray;
iload 9
iinc 9 1
invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
astore 14
start local 14 29: aload 7
iload 12
aload 14
aload 4
aload 13
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 14 30: goto 32
31: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
32: StackMap locals:
StackMap stack:
aload 7
iload 12
aaload
ifnonnull 38
33: aload 4
aload 13
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;
astore 14
start local 14 34: aload 7
iload 12
aload 14
iload 10
aload 5
getfield com.oracle.svm.core.graal.code.SubstrateCallingConventionType.outgoing:Z
ifeq 35
iconst_0
goto 36
StackMap locals: com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig jdk.vm.ci.code.CallingConvention$Type jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.code.ValueKindFactory com.oracle.svm.core.graal.code.SubstrateCallingConventionType int jdk.vm.ci.meta.AllocatableValue[] int int int jdk.vm.ci.meta.JavaKind[] 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
35: iconst_1
StackMap locals: com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig jdk.vm.ci.code.CallingConvention$Type jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.code.ValueKindFactory com.oracle.svm.core.graal.code.SubstrateCallingConventionType int jdk.vm.ci.meta.AllocatableValue[] int int int jdk.vm.ci.meta.JavaKind[] 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
36: invokestatic jdk.vm.ci.code.StackSlot.get:(Ljdk/vm/ci/meta/ValueKind;IZ)Ljdk/vm/ci/code/StackSlot;
aastore
37: iload 10
aload 14
invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
invokestatic java.lang.Math.max:(II)I
iadd
istore 10
end local 14 end local 13 38: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
39: iload 12
aload 3
arraylength
if_icmplt 13
end local 12 40: aload 2
ifnonnull 41
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
goto 42
StackMap locals:
StackMap stack:
41: iload 6
aload 2
checkcast jdk.vm.ci.meta.ResolvedJavaType
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 0
getfield com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
invokestatic com.oracle.svm.core.config.ObjectLayout.getCallSignatureKind:(ZLjdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/TargetDescription;)Ljdk/vm/ci/meta/JavaKind;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaKind
42: astore 12
start local 12 43: aload 12
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 44
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
goto 45
StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
44: aload 0
aload 12
invokevirtual com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.getReturnRegister:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/Register;
aload 4
aload 12
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
45: astore 13
start local 13 46: new com.oracle.svm.core.graal.code.SubstrateCallingConvention
dup
aload 5
aload 11
iload 10
aload 13
aload 7
invokespecial com.oracle.svm.core.graal.code.SubstrateCallingConvention.<init>:(Ljdk/vm/ci/code/CallingConvention$Type;[Ljdk/vm/ci/meta/JavaKind;ILjdk/vm/ci/meta/AllocatableValue;[Ljdk/vm/ci/meta/AllocatableValue;)V
areturn
end local 13 end local 12 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 47 0 this Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
0 47 1 t Ljdk/vm/ci/code/CallingConvention$Type;
0 47 2 returnType Ljdk/vm/ci/meta/JavaType;
0 47 3 parameterTypes [Ljdk/vm/ci/meta/JavaType;
0 47 4 valueKindFactory Ljdk/vm/ci/code/ValueKindFactory<*>;
1 47 5 type Lcom/oracle/svm/core/graal/code/SubstrateCallingConventionType;
4 47 6 isEntryPoint Z
5 47 7 locations [Ljdk/vm/ci/meta/AllocatableValue;
6 47 8 currentGeneral I
7 47 9 currentXMM I
10 47 10 currentStackOffset I
11 47 11 kinds [Ljdk/vm/ci/meta/JavaKind;
12 40 12 i I
14 38 13 kind Ljdk/vm/ci/meta/JavaKind;
25 26 14 register Ljdk/vm/ci/code/Register;
29 30 14 register Ljdk/vm/ci/code/Register;
34 38 14 valueKind Ljdk/vm/ci/meta/ValueKind<*>;
43 47 12 returnKind Ljdk/vm/ci/meta/JavaKind;
46 47 13 returnLocation Ljdk/vm/ci/meta/AllocatableValue;
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
t
returnType
parameterTypes
valueKindFactory
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: com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig 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 com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.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 Lcom/oracle/svm/core/graal/amd64/SubstrateAMD64RegisterConfig;
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
static int[] $SWITCH_TABLE$com$oracle$svm$core$graal$meta$SubstrateRegisterConfig$ConfigKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.$SWITCH_TABLE$com$oracle$svm$core$graal$meta$SubstrateRegisterConfig$ConfigKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.svm.core.graal.meta.SubstrateRegisterConfig$ConfigKind.values:()[Lcom/oracle/svm/core/graal/meta/SubstrateRegisterConfig$ConfigKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.svm.core.graal.meta.SubstrateRegisterConfig$ConfigKind.NATIVE_TO_JAVA:Lcom/oracle/svm/core/graal/meta/SubstrateRegisterConfig$ConfigKind;
invokevirtual com.oracle.svm.core.graal.meta.SubstrateRegisterConfig$ConfigKind.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.svm.core.graal.meta.SubstrateRegisterConfig$ConfigKind.NORMAL:Lcom/oracle/svm/core/graal/meta/SubstrateRegisterConfig$ConfigKind;
invokevirtual com.oracle.svm.core.graal.meta.SubstrateRegisterConfig$ConfigKind.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.$SWITCH_TABLE$com$oracle$svm$core$graal$meta$SubstrateRegisterConfig$ConfigKind:[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
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 com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.$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 com.oracle.svm.core.graal.amd64.SubstrateAMD64RegisterConfig.$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: "SubstrateAMD64RegisterConfig.java"
InnerClasses:
public final ConfigKind = com.oracle.svm.core.graal.meta.SubstrateRegisterConfig$ConfigKind of com.oracle.svm.core.graal.meta.SubstrateRegisterConfig
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