GNU bug report logs - #69706
30.0.50; sort.c, unnecessary GC marking

Previous Next

Package: emacs;

Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Date: Sun, 10 Mar 2024 08:46:02 UTC

Severity: normal

Found in version 30.0.50

Fixed in version 30.1

Done: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>, Mattias Engdegård <mattiase <at> acm.org>, Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 69706 <at> debbugs.gnu.org
Subject: bug#69706: 30.0.50; sort.c, unnecessary GC marking
Date: Sun, 10 Mar 2024 12:38:17 +0200
> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> Date: Sun, 10 Mar 2024 09:45:01 +0100
> 
> sort.c uses record_unwind_protect_mark to let GC mark some objects in
> its merge_state structure, while GC marks the specpdl stack.
> 
> This is
> 
> - unnecessary because all the objects that are currrently extra
>   protected by merge_markmem, are already seen by the GC, because these
>   are the objects being sorted, which are protected in the usual way
>   (marking the control stack, ...)
> 
> - costs GC time
> 
> - complicates the code
> 
> I therefore suggest removing this, including the removal of
> record_unwind_protect_mark and the mark function pointer in union
> specbinding (sort.c is the only user).

Can you show the patch, please?

Adding Stefan and Mattias to the discussion, in case they have
comments or suggestions.

Thanks.




This bug report was last modified 1 year and 72 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.