Management of slots. Similar to "register allocation" in lower level languages.
Types
SlotManager = object
- Source Edit
SlotManagerFlag = enum ReuseTemps, ReuseVars
- Source Edit
Procs
proc closeScope(m: var SlotManager) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc freeLoc(m: var SlotManager; s: SymId) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc freeTemp(m: var SlotManager; s: SymId) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc initSlotManager(flags: set[SlotManagerFlag]): SlotManager {.inline, ...raises: [], tags: [], forbids: [].}
- Source Edit
proc openScope(m: var SlotManager) {....raises: [], tags: [], forbids: [].}
- Source Edit
Iterators
iterator stillAlive(m: SlotManager): (SymId, TypeId) {....raises: [], tags: [], forbids: [].}
- Source Edit