gensym'ed symbols work with lambda-lifting; closures produce objects instead of tuples for easier debugging
This commit is contained in:
parent
62a10df765
commit
325dd44e81
2 changed files with 39 additions and 35 deletions
|
|
@ -138,7 +138,7 @@ proc genBreakState(p: BProc, n: PNode) =
|
|||
if n.sons[0].kind == nkClosure:
|
||||
# XXX this produces quite inefficient code!
|
||||
initLocExpr(p, n.sons[0].sons[1], a)
|
||||
lineF(p, cpsStmts, "if (($1->Field0) < 0) break;$n", [rdLoc(a)])
|
||||
lineF(p, cpsStmts, "if (((NI*) $1)[0] < 0) break;$n", [rdLoc(a)])
|
||||
else:
|
||||
initLocExpr(p, n.sons[0], a)
|
||||
# the environment is guaranteed to contain the 'state' field at offset 0:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue