libera/#sicl - IRC Chatlog
Search
10:30:50
beach
Also, generating Cluster assembly doesn't significantly increase bootstrapping time it seems.
12:37:44
beach
Actually, maybe a separate operator is not necessary, and it would in fact make some things harder. It is easy enough to create a list of Cluster commands and call Cluster to turn it into a byte vector. And creating a SICL simple function from that is just a matter of calling MAKE-INSTANCE. So by using just Common Lisp for it, we get a free "macro assembler" in that we can use Common Lisp loops and other abstractions to create the
14:27:16
beach
All the *<mumble>-commands* will then be appended and assembled in one go to a big vector. Individual functions will have entry points that refer to the start of the relevant system call in the vector.
14:33:32
beach
Or maybe I'll assemble them individually so that I can round the size up to a multiple of 8 and then concatenate the individual vectors to a big one.
14:34:35
beach
Or I can just keep individual vectors. The overhead of an array header might not make a big difference for the number of functions written this way.