Subject: bug#24548: 25.2.50; Long GC delays with many non-detached markers (PATCH)

From: Stefan Monnier <[email-masked]>
Date: Fri, 23 Mar 2018 09:55:15 -0400

> I thought it would be very easy to modify the code to avoid the problem;
> it was a bit harder than I thought, because the GC mark bit is not
> equivalent to "this object survives the current GC cycle".

Could you give a bit more details about what you mean by that?

During the mark phase, indeed the markbit only says "if true then this
object won't be GC'd but if false than maybe it's only because we
haven't finished marking".  Is that what you're referring to?

But if we call unchain_collected_markers from within the sweep phase
(e.g. on every buffer we find), `gcmarkbit` should be
sufficient/reliable.  Or am I missing something?

        Stefan