emacs-devel
[Top][All Lists]
Advanced

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

Re: GC and stack marking


From: Eli Zaretskii
Subject: Re: GC and stack marking
Date: Wed, 21 May 2014 18:39:49 +0300

> From: Stefan Monnier <address@hidden>
> Cc: address@hidden,  address@hidden
> Date: Tue, 20 May 2014 23:01:24 -0400
> 
> > That's how I found out that it was being marked by mark_stack.  But
> > that doesn't tell you how that value _got_ on the stack, does it?
> 
> No, but it does tell you its address in the stack, so you can then walk
> up the backtrace and look at the address of local variables until you
> (hopefully) find the one that matters.

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.

I might try setting a watchpoint at that address, but that might be
impractical; we shall see.

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?



reply via email to

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