[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#69706: 30.0.50; sort.c, unnecessary GC marking
From: |
Eli Zaretskii |
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@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.