[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#17168: 24.3.50; Segfault at mark_object
From: |
Daniel Colascione |
Subject: |
bug#17168: 24.3.50; Segfault at mark_object |
Date: |
Sun, 06 Apr 2014 08:46:59 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
On 04/06/2014 05:36 AM, Stefan Monnier wrote:
>> This scheme works and passes Dmitry's test, but the resulting
>> Vpure_reachable vector has over 8,000 items. Most of these items are
>> ordinary interned symbols.
>
> What objects are there besides symbols in Vpure_reachable?
Just symbols for me.
> If we can reduce Vpure_reachable to only contain symbols, then we can
> replace it with a `pinned' bit in the Lisp_Symbol struct and then walk
> the list of symbols during mark, marking all those symbols with the
> `pinned' bit.
The pinned bit approach is exactly what I implemented, except that we
walk obarray, like we already do, instead of all symbols. Your approach
would require that we check for non-symbols in purecopy and reject them,
and it'd have a bigger performance impact, since we'd then need to walk
the entire symbol list essentially twice.
I'd strongly prefer the fully general approach in my patch. It isn't
*that* complicated.
signature.asc
Description: OpenPGP digital signature
- bug#17168: 24.3.50; Segfault at mark_object, (continued)
- bug#17168: 24.3.50; Segfault at mark_object, Eli Zaretskii, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Daniel Colascione, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Eli Zaretskii, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Daniel Colascione, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Eli Zaretskii, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Daniel Colascione, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Eli Zaretskii, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Daniel Colascione, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Stefan Monnier, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Stefan Monnier, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object,
Daniel Colascione <=
- bug#17168: 24.3.50; Segfault at mark_object, Stefan Monnier, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Daniel Colascione, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Daniel Colascione, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Stefan Monnier, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Daniel Colascione, 2014/04/06
- bug#17168: 24.3.50; Segfault at mark_object, Stefan Monnier, 2014/04/07
- bug#17168: 24.3.50; Segfault at mark_object, Daniel Colascione, 2014/04/07
- bug#17168: 24.3.50; Segfault at mark_object, Stefan Monnier, 2014/04/07
- bug#17168: 24.3.50; Segfault at mark_object, martin rudalics, 2014/04/08
- bug#17168: 24.3.50; Segfault at mark_object, Daniel Colascione, 2014/04/08