libera/#sicl - IRC Chatlog
Search
12:19:42
beach
Before the introduction of the CATCH-INSTRUCTION, I used a much simpler scheme with an UNWIND-INSTRUCTION that would be generated from a GO or a RETURN-FROM, and it would have as a target the instruction to follow in the control flow, but typically in a different function.
12:19:48
beach
But this simpler scheme made instruction ownership hard to compute, and we need instruction ownership for things like closure conversion, and perhaps other things as well.
12:19:56
beach
Now, if I manage to do closure conversion at the AST level, instructions would be generated separately for each function, so instruction ownership would be clear from the start.
12:20:04
beach
Does that mean that the simpler scheme will again work? If so, a BLOCK or a TAGBODY that have a corresponding non-local RETURN-FROM or GO would just have an instruction that does the equivalent of (let ((dynamic-environment (augment-dynamic environment ... dynamic-environment))) ...).