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()