public class SPARC extends Architecture
Modifier and Type | Class and Description |
---|---|
static class |
SPARC.CPUFeature |
Constructor and Description |
---|
SPARC(Set<SPARC.CPUFeature> features) |
Modifier and Type | Method and Description |
---|---|
boolean |
canStoreValue(Register.RegisterCategory category,
PlatformKind lirKind)
Determine whether a kind can be stored in a register of a given category.
|
static int |
getDoubleEncoding(int reg) |
Set<SPARC.CPUFeature> |
getFeatures() |
PlatformKind |
getLargestStorableKind(Register.RegisterCategory category)
Return the largest kind that can be stored in a register of a given category.
|
boolean |
hasFeature(SPARC.CPUFeature feature) |
static boolean |
isCPURegister(Register... regs) |
static boolean |
isCPURegister(Register r) |
static boolean |
isDoubleFloatRegister(Register r) |
static boolean |
isGlobalRegister(Register r) |
static boolean |
isSingleFloatRegister(Register r) |
static int |
spillSlotSize(TargetDescription td,
PlatformKind kind) |
equals, getByteOrder, getMachineCodeCallDisplacementOffset, getName, getRegisterReferenceMapSize, getRegisters, getReturnAddressSize, getSizeInBytes, getWordSize, hashCode, requiredBarriers, supportsUnalignedMemoryAccess, toString
public static final Register.RegisterCategory CPU
public static final Register[] cpuRegisters
public static final Register.RegisterCategory FPUs
public static final Register.RegisterCategory FPUd
public static final Register[] fpuRegisters
public static final Register[] allRegisters
public static final int STACK_BIAS
public static final int FLOAT_REGISTER_COUNT
public static final int MEMORY_ACCESS_ALIGN
public static final int INSTRUCTION_SIZE
public static final int REGISTER_SAFE_AREA_SIZE
public final Set<SPARC.CPUFeature> features
public SPARC(Set<SPARC.CPUFeature> features)
public boolean canStoreValue(Register.RegisterCategory category, PlatformKind lirKind)
Architecture
canStoreValue
in class Architecture
category
- the category of the registerlirKind
- the kind that should be stored in the registerpublic PlatformKind getLargestStorableKind(Register.RegisterCategory category)
Architecture
getLargestStorableKind
in class Architecture
category
- the category of the registercategory
public static int spillSlotSize(TargetDescription td, PlatformKind kind)
public static int getDoubleEncoding(int reg)
public static boolean isCPURegister(Register r)
public static boolean isCPURegister(Register... regs)
public static boolean isGlobalRegister(Register r)
public static boolean isSingleFloatRegister(Register r)
public static boolean isDoubleFloatRegister(Register r)
public Set<SPARC.CPUFeature> getFeatures()
public boolean hasFeature(SPARC.CPUFeature feature)