libera/#sbcl - IRC Chatlog
Search
19:55:33
karlosz
i have more stack changes coming up which take block local information into account rather than hacking it which the random tester will probably have a field day with
19:56:20
karlosz
stack is pretty incoherent: it's weird that dx lvars go in the pushed set but dx lvars are totally absent from the popped set for each block
19:56:45
karlosz
using somewhat unrelated mechanisms like map-block-nlxes and entry nodes to get at that info
19:57:57
karlosz
envanal could just insert a cleanup funny node that has that info and propagate that which ltn uses to put on the popped set rather than scanning the cleanups for each block manually
19:58:16
karlosz
of course the way we do conditional dx means we have to treat dx totally differently
19:58:51
karlosz
(let ((x (if y (cons a b) 4))) (declare (dynamic-extent x)) blah) just doesn't work due to the way we represent conditional dx
19:59:37
karlosz
maybe having a concept of a 'root object' lvar which the inaccessible subparts are subordinate to
20:00:36
karlosz
though other stack objects could be made intermediate to the inaccessible subparts and the declared dx object which would make sharing a coherent stack pointer probably not feasible
0:56:15
pdietz
There was a lot of pain with dx in the past. I have a specialized random tester for it.