emacs-devel
[Top][All Lists]
Advanced

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

Re: Should catchlist elements be marked during GC?


From: Stefan Monnier
Subject: Re: Should catchlist elements be marked during GC?
Date: Thu, 13 Jul 2006 11:24:15 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

> During GC, we don't explicitly go through the catchlist, marking the
> TAG and VAL member of each element.

What makes you say so?
In Fgarbage_collect I see:

  for (catch = catchlist; catch; catch = catch->next)
    {
      mark_object (catch->tag);
      mark_object (catch->val);
    }

> I just wondered if it is safe to assume that the TAG and VAL members
> are always marked due to some other method?

Actually, it is safe to assume so if we use conservative stack marking
because the catchlist elements are all allocated on the stack, so we
currently mark them redundantly.

The same holds for the handlerlist, the byte stacks, and the backtrace list
(but not for the specpdl array which is not allocated on the stack).

I have a patch to remove this redundant scanning, but keep it for post-22.


        Stefan




reply via email to

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