freenode/#clasp - IRC Chatlog
Search
17:08:40
karlosz
i also may have found a bug with ast-to-bir with tagbody... not sure if you've fixed this one yet but unwind is missing a parameter or something
17:25:02
Bike
i'm not really satisfied with the tagbody handling in ast-to-bir right now, or blcok either, it's kind of messy
17:25:28
Bike
i just changed catch instructions so they output a variable directly, which helps somewhat and goes with the idea of distinguishing the initial binding of a variable from a setq
20:24:02
karlosz
some more thoughts about lexical-variable representation: https://github.com/s-expressionists/Cleavir/wiki/The-lexical-variable-representational-hierarchy . once LETI becomes the binder for the variables, p-c-v shouldnt really need to fill out any kind of extent slot on variables and should only have to fill out the environments to enclose
20:25:06
karlosz
basic takeaway tho is that local + immutable means we can represent lexical-variable as an llvm ssa value
20:26:34
karlosz
extent is like an orthogonal thing to the closed over property which just determines whether things go on the heap or the stack
20:27:03
karlosz
closed over can be queried easily by just checking if the variable has references with different homes than its binder
20:32:23
Bike
i was thinking the slowness was because of how i did catch, but maybe it's just inlining
20:33:00
Bike
as to what you said, yeah, makes sense. pcv is already pretty simple, though, it basically mostly does the filling
20:36:09
Bike
oh, and note to self, there are gonna be problems compiling tagbody if someone writes c ode with unreachable tagbody blocks
20:57:51
karlosz
Bike: you could run the profiler flame graph tool if you think something is slow and you don't know what it is