Hello all,

The attached patch compresses the objcode representation a bit, then
adds space for a native code pointer. The whole thing ends up being
four words, as it is now.

The patch depends on this idea, so please let me know if it is wrong:
the current objcode representation uses its last two words to store
the object the objcode came from - a bytevector if the objcode is from
a bytevector, a file if it is from a file, etc. But each objcode can
only be from one thing, so in fact we only need to use one word to
store that. (Currently, one of the last two words will always be 0.)

The interesting changes are probably all in libguile/objcodes.c and
libguile/objcodes.h. I also changed all of the files that contained
static objcode, but those are pretty repetitive changes.

Noah

Attachment: 0001-Space-for-Native-Code.patch
Description: Binary data

Reply via email to