emacs-devel
[Top][All Lists]
Advanced

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

Re: GC and stack marking


From: David Kastrup
Subject: Re: GC and stack marking
Date: Thu, 22 May 2014 07:37:27 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

Daniel Colascione <address@hidden> writes:

> On 05/21/2014 07:43 PM, Eli Zaretskii wrote:
>>> Date: Wed, 21 May 2014 16:49:22 -0400
>>> From: Barry OReilly <address@hidden>
>>> Cc: address@hidden
>>>
>>> Even if we're only talking about the stack variables in the frames that are
>>> active during your particular problematic case (and perhaps in the idle
>>> Emacs GC case)?
>> 
>> I thought you were asking about having the compiler generate the code
>> to do that, which would then happen everywhere.
>> 
>> If you propose doing that selectively, I don't know how this would be
>> possible, since on the C level you don't have a way of telling how
>> much stack is allocated in a given function.
>> 
>>> Have you already ruled out whether stack_top_variable contributes one of
>>> the bytes in your false positive lookup in the mem_node tree?
>> 
>> Yes.  I looked at all the local variables in that stack frame, and
>> their addresses on the stack are different from the one that triggers
>> the problem.
>
> What about cleaning the stack (memset from the top to the high water
> mark) every once in a while?

How about explicitly triggering garbage collection at a point of time
where the water mark is really low?  For the few remaining variables,
initializing them explicitly would then not be a high cost.

-- 
David Kastrup




reply via email to

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