public class jdk.vm.ci.code.RegisterAttributes
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.vm.ci.code.RegisterAttributes
super_class: java.lang.Object
{
private final boolean callerSave;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean calleeSave;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean allocatable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final jdk.vm.ci.code.RegisterAttributes NONE;
descriptor: Ljdk/vm/ci/code/RegisterAttributes;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new jdk.vm.ci.code.RegisterAttributes
dup
iconst_0
iconst_0
iconst_0
invokespecial jdk.vm.ci.code.RegisterAttributes.<init>:(ZZZ)V
putstatic jdk.vm.ci.code.RegisterAttributes.NONE:Ljdk/vm/ci/code/RegisterAttributes;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(boolean, boolean, boolean);
descriptor: (ZZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield jdk.vm.ci.code.RegisterAttributes.callerSave:Z
2: aload 0
iload 2
putfield jdk.vm.ci.code.RegisterAttributes.calleeSave:Z
3: aload 0
iload 3
putfield jdk.vm.ci.code.RegisterAttributes.allocatable:Z
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/vm/ci/code/RegisterAttributes;
0 5 1 isCallerSave Z
0 5 2 isCalleeSave Z
0 5 3 isAllocatable Z
MethodParameters:
Name Flags
isCallerSave
isCalleeSave
isAllocatable
public static jdk.vm.ci.code.RegisterAttributes[] createMap(jdk.vm.ci.code.RegisterConfig, jdk.vm.ci.code.RegisterArray);
descriptor: (Ljdk/vm/ci/code/RegisterConfig;Ljdk/vm/ci/code/RegisterArray;)[Ljdk/vm/ci/code/RegisterAttributes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
anewarray jdk.vm.ci.code.RegisterAttributes
astore 2
start local 2 1: aload 0
invokeinterface jdk.vm.ci.code.RegisterConfig.getCallerSaveRegisters:()Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.asList:()Ljava/util/List;
astore 3
start local 3 2: aload 0
invokeinterface jdk.vm.ci.code.RegisterConfig.getCalleeSaveRegisters:()Ljdk/vm/ci/code/RegisterArray;
ifnonnull 3
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
goto 4
StackMap locals: jdk.vm.ci.code.RegisterAttributes[] java.util.List
StackMap stack:
3: aload 0
invokeinterface jdk.vm.ci.code.RegisterConfig.getCalleeSaveRegisters:()Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.asList:()Ljava/util/List;
StackMap locals:
StackMap stack: java.util.List
4: astore 4
start local 4 5: aload 0
invokeinterface jdk.vm.ci.code.RegisterConfig.getAllocatableRegisters:()Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.asList:()Ljava/util/List;
astore 5
start local 5 6: aload 1
invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
astore 7
goto 13
StackMap locals: jdk.vm.ci.code.RegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.RegisterAttributes[] java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.Register
astore 6
start local 6 8: aload 6
ifnull 13
9: new jdk.vm.ci.code.RegisterAttributes
dup
aload 3
aload 6
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
aload 4
aload 6
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
aload 5
aload 6
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
invokespecial jdk.vm.ci.code.RegisterAttributes.<init>:(ZZZ)V
astore 8
start local 8 10: aload 2
arraylength
aload 6
getfield jdk.vm.ci.code.Register.number:I
if_icmpgt 12
11: aload 2
aload 6
getfield jdk.vm.ci.code.Register.number:I
iconst_1
iadd
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast jdk.vm.ci.code.RegisterAttributes[]
astore 2
12: StackMap locals: jdk.vm.ci.code.RegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.RegisterAttributes[] java.util.List java.util.List java.util.List jdk.vm.ci.code.Register java.util.Iterator jdk.vm.ci.code.RegisterAttributes
StackMap stack:
aload 2
aload 6
getfield jdk.vm.ci.code.Register.number:I
aload 8
aastore
end local 8 end local 6 13: StackMap locals: jdk.vm.ci.code.RegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.RegisterAttributes[] java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
14: iconst_0
istore 6
start local 6 15: goto 19
16: StackMap locals: jdk.vm.ci.code.RegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.RegisterAttributes[] java.util.List java.util.List java.util.List int
StackMap stack:
aload 2
iload 6
aaload
ifnonnull 18
17: aload 2
iload 6
getstatic jdk.vm.ci.code.RegisterAttributes.NONE:Ljdk/vm/ci/code/RegisterAttributes;
aastore
18: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
19: iload 6
aload 2
arraylength
if_icmplt 16
end local 6 20: aload 2
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 21 0 registerConfig Ljdk/vm/ci/code/RegisterConfig;
0 21 1 registers Ljdk/vm/ci/code/RegisterArray;
1 21 2 map [Ljdk/vm/ci/code/RegisterAttributes;
2 21 3 callerSaveRegisters Ljava/util/List<Ljdk/vm/ci/code/Register;>;
5 21 4 calleeSaveRegisters Ljava/util/List<Ljdk/vm/ci/code/Register;>;
6 21 5 allocatableRegisters Ljava/util/List<Ljdk/vm/ci/code/Register;>;
8 13 6 reg Ljdk/vm/ci/code/Register;
10 13 8 attr Ljdk/vm/ci/code/RegisterAttributes;
15 20 6 i I
MethodParameters:
Name Flags
registerConfig
registers
public boolean isAllocatable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.RegisterAttributes.allocatable:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/RegisterAttributes;
public boolean isCalleeSave();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.RegisterAttributes.calleeSave:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/RegisterAttributes;
public boolean isCallerSave();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.RegisterAttributes.callerSave:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/RegisterAttributes;
}
SourceFile: "RegisterAttributes.java"