libera/#clasp - IRC Chatlog
Search
21:19:27
drmeister
What are they again? Do they help with hot swapping functions? Do they insert an indirection in calling?
21:22:13
bike
it's basically the same as the class holders. when you compile a call like (FOO), that ends up as (funcall #<FDEFN>) essentially, and then whenever you do (setf fdefinition) on foo it updates the fdefn.
21:22:32
bike
it shouldn't add an indirection. it should let us remove the function sell cell from symbols without slowing anything down
21:29:17
bike
yeah, cos we could put the fdefns in a global hash table or something instead, without requiring a lookup very often (there would be a lookup when doing fdefinition of an unknown symbol, but that's uncommon)
21:33:09
bike
i think the basic advantages for us are (a) it's a step closer to first class environments, which have various uses like sandboxing, and (b) right now every time you gensym it allocates two "undefined function" functions, which is a surprisingly big slowdown during bytecode compilation
22:08:32
bike
oh, and i guess another advantage is that it should make setf function lookups a bit faster, since right now we have to flip through the (setf foo) cons and such
22:49:24
yitzi
Figuring out how to chroot into a ARM qemu emulator was a major accomplishment today. Not sure I wanna test the VM anymore then that.
23:00:25
yitzi
cl-bench crashed with some kind of rosetta error for the M1 build. So there a few issues, but pretty minor so far.
23:28:26
yitzi
crap....now I am getting the same error that made me think there was a calling convention problem. Bugger.
23:36:08
drmeister
There shouldn't be any calling convention issues because with multiple entry points we get the efficiency of messing with the calling convention without actually messing with the calling convention.
23:37:24
yitzi
It may not be. Its like there is random junk being passed instead of the proper arguments. Get it first in the compilation of generated-encodings.lisp
23:38:38
yitzi
Well, made progress... but I think that the x86 llvm got used by mistake in the many koga invocations.
23:39:53
drmeister
https://undo.io/about-us/undo/news/undo-software-deliver-support-64-bit-arm-devices#:~:text=UndoDB%20can%20be%20used%20in,fix%20bugs%20much%20more%20quickly.