Subject: bug#69706: 30.0.50; sort.c, unnecessary GC marking

From: Gerd Möllmann <[email-masked]>
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).