free some registers after usage, allows more complex macros (#10443)
This commit is contained in:
parent
15ee5d65d1
commit
6555d89c2c
1 changed files with 6 additions and 0 deletions
|
|
@ -326,8 +326,14 @@ proc genWhile(c: PCtx; n: PNode) =
|
|||
c.patch(L2)
|
||||
|
||||
proc genBlock(c: PCtx; n: PNode; dest: var TDest) =
|
||||
let oldRegisterCount = c.prc.maxSlots
|
||||
withBlock(n.sons[0].sym):
|
||||
c.gen(n.sons[1], dest)
|
||||
|
||||
for i in oldRegisterCount ..< c.prc.maxSlots:
|
||||
if c.prc.slots[i].kind in {slotFixedVar, slotFixedLet}:
|
||||
c.prc.slots[i] = (inUse: false, kind: slotEmpty)
|
||||
|
||||
c.clearDest(n, dest)
|
||||
|
||||
proc genBreak(c: PCtx; n: PNode) =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue