[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GC and stack marking

From: Stefan Monnier
Subject: Re: GC and stack marking
Date: Wed, 21 May 2014 13:40:21 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

> I already tried that before, and came up empty-handed.  I tried again
> now; the address of that value on the stack does not correspond to any
> local variable in the corresponding stack frame, and I also cannot
> find that address in the disassembly of the function whose stack frame
> includes the value.

It might simply be a slot that's unused by the current stack frame,
whose value comes from some stack frame that existed some time in
the past.

Which stack frame is that?  Is it high up or very deep (both of which
we could hope to solve by using tighter bounds on the start and end
addresses of the stack scan), or neither?

> Now, I have a question: mark_stack stops examining the stack when it
> gets to its own stack frame.  That is certainly safe, but it sounds
> too conservative: it should stop at the stack frame of
> Fgarbage_collect, I think, because no live Lisp object can appear
> while Fgarbage_collect runs, right?

Sounds right, yes.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]