|
From: | Gregory Heytings |
Subject: | bug#61504: 29.0.60; executing byte-code from previous build causes SIGSEGV crash |
Date: | Tue, 14 Feb 2023 16:00:35 +0000 |
Looks right to me.
Many thanks for your review!
@@ -940,10 +940,9 @@ #define DEFINE(name, value) [name] = &&insn_ ## name, } CASE (Bsave_restriction): - record_unwind_protect (save_restriction_restore, - save_restriction_save ()); - record_unwind_protect (narrowing_locks_restore, - narrowing_locks_save ()); + record_unwind_protect (save_restriction_and_narrowing_locks_restore, + Fcons (save_restriction_save (), + narrowing_locks_save ())); NEXT;Shouldn't the value returned by `save_restriction_save` include the narrowing locks already?IOW rather than changing this `bytecode.c` code, the locks handling should be "hidden" inside `save_restriction_restore` and `save_restriction_save`, don't you think?
You mean, the attached patch? That's probably even better, indeed. (Again it passes make and make check, with and without native compilation.)
Improve-backward-compatibility-of-save-restriction.patch
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |