public abstract class jdk.vm.ci.code.Architecture
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: jdk.vm.ci.code.Architecture
super_class: java.lang.Object
{
private final jdk.vm.ci.meta.PlatformKind wordKind;
descriptor: Ljdk/vm/ci/meta/PlatformKind;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.RegisterArray registers;
descriptor: Ljdk/vm/ci/code/RegisterArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteOrder byteOrder;
descriptor: Ljava/nio/ByteOrder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean unalignedMemoryAccess;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int implicitMemoryBarriers;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int machineCodeCallDisplacementOffset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int returnAddressSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/vm/ci/code/Architecture;
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.code.Architecture.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.lang.String, jdk.vm.ci.meta.PlatformKind, java.nio.ByteOrder, boolean, jdk.vm.ci.code.RegisterArray, int, int, int);
descriptor: (Ljava/lang/String;Ljdk/vm/ci/meta/PlatformKind;Ljava/nio/ByteOrder;ZLjdk/vm/ci/code/RegisterArray;III)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.vm.ci.code.Architecture.name:Ljava/lang/String;
2: aload 0
aload 5
putfield jdk.vm.ci.code.Architecture.registers:Ljdk/vm/ci/code/RegisterArray;
3: aload 0
aload 2
putfield jdk.vm.ci.code.Architecture.wordKind:Ljdk/vm/ci/meta/PlatformKind;
4: aload 0
aload 3
putfield jdk.vm.ci.code.Architecture.byteOrder:Ljava/nio/ByteOrder;
5: aload 0
iload 4
putfield jdk.vm.ci.code.Architecture.unalignedMemoryAccess:Z
6: aload 0
iload 6
putfield jdk.vm.ci.code.Architecture.implicitMemoryBarriers:I
7: aload 0
iload 7
putfield jdk.vm.ci.code.Architecture.machineCodeCallDisplacementOffset:I
8: aload 0
iload 8
putfield jdk.vm.ci.code.Architecture.returnAddressSize:I
9: return
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 10 0 this Ljdk/vm/ci/code/Architecture;
0 10 1 name Ljava/lang/String;
0 10 2 wordKind Ljdk/vm/ci/meta/PlatformKind;
0 10 3 byteOrder Ljava/nio/ByteOrder;
0 10 4 unalignedMemoryAccess Z
0 10 5 registers Ljdk/vm/ci/code/RegisterArray;
0 10 6 implicitMemoryBarriers I
0 10 7 nativeCallDisplacementOffset I
0 10 8 returnAddressSize I
MethodParameters:
Name Flags
name
wordKind
byteOrder
unalignedMemoryAccess
registers
implicitMemoryBarriers
nativeCallDisplacementOffset
returnAddressSize
public final java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.code.Architecture.getName:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public int getWordSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.Architecture.wordKind:Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public jdk.vm.ci.meta.PlatformKind getWordKind();
descriptor: ()Ljdk/vm/ci/meta/PlatformKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.Architecture.wordKind:Ljdk/vm/ci/meta/PlatformKind;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.Architecture.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public jdk.vm.ci.code.RegisterArray getRegisters();
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.code.Architecture.registers:Ljdk/vm/ci/code/RegisterArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public jdk.vm.ci.code.RegisterArray getAvailableValueRegisters();
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 jdk.vm.ci.code.Architecture.getRegisters:()Ljdk/vm/ci/code/RegisterArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public java.nio.ByteOrder getByteOrder();
descriptor: ()Ljava/nio/ByteOrder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.Architecture.byteOrder:Ljava/nio/ByteOrder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public boolean supportsUnalignedMemoryAccess();
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.Architecture.unalignedMemoryAccess:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public int getReturnAddressSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.Architecture.returnAddressSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public int getMachineCodeCallDisplacementOffset();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.Architecture.machineCodeCallDisplacementOffset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
public final int requiredBarriers(int);
descriptor: (I)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield jdk.vm.ci.code.Architecture.implicitMemoryBarriers:I
iconst_m1
ixor
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
0 1 1 barriers I
MethodParameters:
Name Flags
barriers
public abstract boolean canStoreValue(jdk.vm.ci.code.Register$RegisterCategory, jdk.vm.ci.meta.PlatformKind);
descriptor: (Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/meta/PlatformKind;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
category
kind
public abstract jdk.vm.ci.meta.PlatformKind getLargestStorableKind(jdk.vm.ci.code.Register$RegisterCategory);
descriptor: (Ljdk/vm/ci/code/Register$RegisterCategory;)Ljdk/vm/ci/meta/PlatformKind;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
category
public abstract jdk.vm.ci.meta.PlatformKind getPlatformKind(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/PlatformKind;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
javaKind
public final boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.vm.ci.code.Architecture
ifeq 13
3: aload 1
checkcast jdk.vm.ci.code.Architecture
astore 2
start local 2 4: aload 0
getfield jdk.vm.ci.code.Architecture.name:Ljava/lang/String;
aload 2
getfield jdk.vm.ci.code.Architecture.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
5: getstatic jdk.vm.ci.code.Architecture.$assertionsDisabled:Z
ifne 6
aload 0
getfield jdk.vm.ci.code.Architecture.byteOrder:Ljava/nio/ByteOrder;
aload 2
getfield jdk.vm.ci.code.Architecture.byteOrder:Ljava/nio/ByteOrder;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: jdk.vm.ci.code.Architecture
StackMap stack:
getstatic jdk.vm.ci.code.Architecture.$assertionsDisabled:Z
ifne 7
aload 0
getfield jdk.vm.ci.code.Architecture.implicitMemoryBarriers:I
aload 2
getfield jdk.vm.ci.code.Architecture.implicitMemoryBarriers:I
if_icmpeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.code.Architecture.$assertionsDisabled:Z
ifne 8
aload 0
getfield jdk.vm.ci.code.Architecture.machineCodeCallDisplacementOffset:I
aload 2
getfield jdk.vm.ci.code.Architecture.machineCodeCallDisplacementOffset:I
if_icmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.code.Architecture.$assertionsDisabled:Z
ifne 9
aload 0
getfield jdk.vm.ci.code.Architecture.registers:Ljdk/vm/ci/code/RegisterArray;
aload 2
getfield jdk.vm.ci.code.Architecture.registers:Ljdk/vm/ci/code/RegisterArray;
invokevirtual jdk.vm.ci.code.RegisterArray.equals:(Ljava/lang/Object;)Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.code.Architecture.$assertionsDisabled:Z
ifne 10
aload 0
getfield jdk.vm.ci.code.Architecture.returnAddressSize:I
aload 2
getfield jdk.vm.ci.code.Architecture.returnAddressSize:I
if_icmpeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.code.Architecture.$assertionsDisabled:Z
ifne 11
aload 0
getfield jdk.vm.ci.code.Architecture.unalignedMemoryAccess:Z
aload 2
getfield jdk.vm.ci.code.Architecture.unalignedMemoryAccess:Z
if_icmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
getstatic jdk.vm.ci.code.Architecture.$assertionsDisabled:Z
ifne 12
aload 0
getfield jdk.vm.ci.code.Architecture.wordKind:Ljdk/vm/ci/meta/PlatformKind;
aload 2
getfield jdk.vm.ci.code.Architecture.wordKind:Ljdk/vm/ci/meta/PlatformKind;
if_acmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/vm/ci/code/Architecture;
0 14 1 obj Ljava/lang/Object;
4 13 2 that Ljdk/vm/ci/code/Architecture;
MethodParameters:
Name Flags
obj
public final int hashCode();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.vm.ci.code.Architecture.name:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/vm/ci/code/Architecture;
}
SourceFile: "Architecture.java"
InnerClasses:
public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register