Subject: Re: 23.2.50; GC may lose Lisp objects in the image cache

From: Chong Yidong <[email-masked]>
Date: Sun, 21 Nov 2010 19:45:22 -0500

> Currently, Fgarbage_collect calls mark_terminals after marking
> staticpro'ed objects.  Terminal objects need a special marking
> strategy with respect to image cache, but if a terminal object is
> reachable from some staticpro'ed object, then it is marked normally
> (i.e., without considering image cache).  As a result, Lisp objects in
> the image cache might be collected though they should have been
> marked.
>
> Also, as for stack marking, I noticed that about half of the stack
> elements have Lisp_Int* tags at least on Mac OS X.  Such an element
> might be either a real Lisp integer or an aligned pointer value.  We
> can omit mem_find calls for them by checking the tag value early.

Thanks.  I've committed your patches (the former to emacs-23, the latter
to the trunk).  Sorry for the long delay.