libera/#clasp - IRC Chatlog
Search
19:37:15
karlosz
args + arg-count needs to be saved as well on function call... defaulting logic could destroy args + arg-count otherwise
1:14:34
Bike
i don't actually know how to get the stamps in c++, even though i know how it works in the compiler
2:18:26
karlosz
Bike: i think the lambda list processing stuff might be busted for some hairy cases with &optional, so i'll need to revise the instructions for that probably
2:18:58
karlosz
but otherwise mostly in shape for a C++ implementation. i feel good about how we do block + tagbody, multiple-value-call/prog1 and flet/labels
5:39:17
karlosz
drmeister, BIke: i revamped the lambda list instruction handling to pass some hairier tests involving lambda lists. in working this stuff out i did have to change some of the instructions and notably the bytecode function template object structure (the required, optional etc is now encoded in the bytecode instructions instead of the template object). also, we're back to using single bytecode entry points.
5:57:49
karlosz
drmeister: we should also discuss the bytecode_function/bytecode_closure distinction more. i just realized we can make it so that if a function has no closed over variables we can just call the bytecode template thing directly, instead of consing up a closure everytime. i think you call this optimization closurettes in cclasp.