Next: , Up: Object Format   [Contents]


40.1 Tagging

The following is a key of the three bit low-tagging scheme:

000

even fixnum

001

function pointer

010

even other-immediate (header-words, characters, symbol-value trap value, etc.)

011

list pointer

100

odd fixnum

101

structure pointer

110

odd other immediate

111

other-pointer to data-blocks (other than conses, structures, and functions)

This tagging scheme forces a dual-word alignment of data-blocks on the heap, but this can be pretty negligible:

Everything else is vector-like including code, so these probably take up so many words that one extra one doesn’t matter.