An abstract global register for the STG machine.
See also GlobalRegUse, which denotes a usage of a register at a particular
type (e.g. using a 32-bit wide register to store an 8-bit wide value), as per
Note [GlobalReg vs GlobalRegUse].
Constructors
VanillaReg !IntFloatReg !IntDoubleReg !IntLongReg !IntXmmReg !IntYmmReg !IntZmmReg !IntSpStack ptr; points to last occupied stack location.
SpLimHpHeap ptr; points to last occupied heap location.
HpLimCCCSCurrent cost-centre stack
CurrentTSOpointer to current thread's TSO
CurrentNurserypointer to allocation area
HpAllocallocation count for heap check failure
EagerBlackholeInfoaddress of stg_EAGER_BLACKHOLE_info
GCEnter1address of stg_gc_enter_1
GCFunBaseRegBase offset for the register table, used for accessing registers
which do not have real registers assigned to them. This register
will only appear after we have expanded GlobalReg into memory accesses
(where necessary) in the native code generator.
MachSpThe register used by the platform for the C stack pointer. This is
a break in the STG abstraction used exclusively to setup stack unwinding
information.
UnwindReturnRegA dummy register used to indicate to the stack unwinder where
a routine would return to.
PicBaseRegBase Register for PIC (position-independent code) calculations.
Only used inside the native code generator. Its exact meaning differs
from platform to platform (see module PositionIndependentCode).