On May 14, 2011, at 05:47, Andy Wingo wrote: > However, I realized that this isn't going to work on 32-bit, and for an > unexpected reason: GC. The problem is that the low 32-bits can be > interpreted as a pointer, so you need to tag those bits to make the > payloads of immediate values like integers or characters not confusable > with pointers, and that takes away any potential advantage (wider fixnum > range for example).
Is that really any more of an issue this way than with the current encoding -- if not for SCM, then for heap data structures including both SCM objects and integers or characters? I thought the GC code already had to cope with things looking like they could be pointers but not actually corresponding to anything allocated via the GC library. Ken