public class RegisterAttributes extends Object
RegisterConfig in use during a compilation will
determine which registers are callee saved.| Modifier and Type | Field and Description |
|---|---|
private boolean |
allocatable |
private boolean |
calleeSave |
private boolean |
callerSave |
static RegisterAttributes |
NONE |
| Constructor and Description |
|---|
RegisterAttributes(boolean isCallerSave,
boolean isCalleeSave,
boolean isAllocatable) |
| Modifier and Type | Method and Description |
|---|---|
static RegisterAttributes[] |
createMap(RegisterConfig registerConfig,
Register[] registers)
Creates a map from register numbers to register
attributes for a given register configuration and set of
registers.
|
boolean |
isAllocatable() |
boolean |
isCalleeSave() |
boolean |
isCallerSave() |
private final boolean callerSave
private final boolean calleeSave
private final boolean allocatable
public static final RegisterAttributes NONE
public RegisterAttributes(boolean isCallerSave, boolean isCalleeSave, boolean isAllocatable)
public static RegisterAttributes[] createMap(RegisterConfig registerConfig, Register[] registers)
registerConfig - a register configurationregisters - a set of registersregisters plus 1. An
element at index i holds the attributes of the register whose number is i.public boolean isAllocatable()
public boolean isCalleeSave()
public boolean isCallerSave()