On 5/27/20 11:31 PM, Pip Cet wrote: > I hope you're right, in that compilers will support GC better before > they move on to clever optimizations that break it :-) After looking into it, I decided it wasn't worth the hassle of treating pointers just past the end of a Lisp object as pointing into the object. Although such pointers can exist, I can't think of a realistic-with-today's-compilers scenario at the machine level where (1) a pointer like that will exist, (2) no pointers into the middle or start of the object will exist, and (3) the object might be accessed later. In contrast we have seen scenarios with pointers into the middle of Lisp objects. With that in mind, attached is a proposed patch to master that I hope deals with some of the more-serious problems mentioned so far in this thread, in particular the problem with Lisp_Object representations of symbols being split into two registers in a --with-wide-int build. I haven't tested this as much as I'd like, but I need to turn my attention to sleep and work and so this is a good place to broadcast a checkpoint. This patch doesn't address the LISP_ALIGNMENT issues you mentioned, both in lisp.h and in the pdumper; I can work on that soon, I think. PS. Thanks for helping bring this problem to our attention; it's been fun to look into it.