|
From: | Paul Eggert |
Subject: | bug#41321: 27.0.91; Emacs aborts due to invalid pseudovector objects |
Date: | Sat, 30 May 2020 11:57:52 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 |
On 5/30/20 11:39 AM, Pip Cet wrote:
I fail to see the problem with my patch. mark_maybe_object is unnecessary on x86 --with-wide-int, and mark_maybe_pointer (off + lispsym) is unnecessary on platforms that don't rip apart our precious Lisp_Objects. The other call to mark_maybe_pointer isn't skipped.
The other alloc.c code is inconsistent with respect to the live_*_holding versus live_*_p functions. There is no live_float_holding function, which means we're relying entirely on mark_maybe_object to find roots that contain Lisp floats. So it's dicey that your earlier (Bug#41321#299) patch skips the call to mark_maybe_object on some platforms.
I've been working on improving this for master.
[Prev in Thread] | Current Thread | [Next in Thread] |