Safe Haskell | None |
---|---|
Language | Haskell2010 |
The assignment of virtual registers to stack slots
Synopsis
- type StackSlot = Int
- data StackMap = StackMap {
- stackMapNextFreeSlot :: !Int
- stackMapAssignment :: UniqFM Unique StackSlot
- emptyStackMap :: StackMap
- getStackSlotFor :: StackMap -> Unique -> (StackMap, Int)
- getStackUse :: StackMap -> Int
Documentation
StackMap | |
|
emptyStackMap :: StackMap Source #
An empty stack map, with all slots available.
getStackSlotFor :: StackMap -> Unique -> (StackMap, Int) Source #
If this vreg unique already has a stack assignment then return the slot number, otherwise allocate a new slot, and update the map.
getStackUse :: StackMap -> Int Source #
Return the number of stack slots that were allocated