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
0001-Space-for-Native-Code.patch
Description: Binary data