freenode/#sicl - IRC Chatlog
Search
14:38:50
ck_
?:/ I mean you both are on top of it, and if i recall you don't share the apsp, so that can't be the reason. there must be others :)
14:40:37
beach
OK, so I have a few hours left of the day. Last time I worked on HIR and MIR was when I no longer had to preprocess several instruction types that needed to be turned into function calls before closure analysis.
14:42:07
beach
Before that, in particular the ENCLOSE instruction was modified. So it no longer had the associated ENTER instruction stored in it. Therefore, in MIR-to-LIR, I had to find the ENTER-INSTRUCTIONs in a different way.
14:42:37
beach
But now, the enclose is left alone and just turned into a JMP by code generation, for further processing by the call-site manager.
14:43:36
beach
So the code I used in MIR-to-LIR to find ENTER-INSTRUCTIONs is gone, and I need to go back to the way they are found in HIR and MIR.
14:44:35
beach
Everything is simpler now, but there is of course going to be some additional complexity (and ultimately significantly more) in the call-site manager.
14:45:29
beach
But the first task is to get MIR-to-LIR and code generation to work with the new way of generating function calls.
15:14:16
beach
So far, I have adapted MIR-to-LIR and code generation to the new way of finding ENTER-INSTRUCTIONs, which also removed the warnings that have been signaled recently when the boot procedure was loaded with ASDF.
15:15:17
beach
But, now, of course, MIR-to-LIR is not up to snuff, because the main task is to replace the (rather silly) way of introducing registers that is currently used by the new EDU-based technique.
15:18:02
beach
The good news is that I know what to do with the CATCH-INSTRUCTION. It will be treated as an instruction with a single successor, namely the first one. Other successors are not reached by normal control flow, and, as I pointed out the other day, all registers must be spilled at those other successors, at least in the general case of a non-local transfer of control.