emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

scratch/comp-static-data 0f3bcbba83 1/9: src/alloc.c: Don't mark a symbo


From: Vibhav Pant
Subject: scratch/comp-static-data 0f3bcbba83 1/9: src/alloc.c: Don't mark a symbol's name if it's already marked.
Date: Tue, 20 Dec 2022 11:29:40 -0500 (EST)

branch: scratch/comp-static-data
commit 0f3bcbba835cc8dd91e0c0354075dd0996e0d3d0
Author: Vibhav Pant <vibhavp@gmail.com>
Commit: Vibhav Pant <vibhavp@gmail.com>

    src/alloc.c: Don't mark a symbol's name if it's already marked.
    
    * src/alloc.c (process_mark_stack): While marking a Lisp_Symbol, only
    mark the 'name' string field if it hasn't been already marked,
    avoiding unnecessarily marking statically generated strings during
    native compilation.
---
 src/alloc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/alloc.c b/src/alloc.c
index 13f690a162..b1fa50816e 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -7055,7 +7055,8 @@ process_mark_stack (ptrdiff_t base_sp)
                break;
              default: emacs_abort ();
              }
-           if (!PURE_P (XSTRING (ptr->u.s.name)))
+           if (!PURE_P (XSTRING (ptr->u.s.name))
+               && !string_marked_p (XSTRING (ptr->u.s.name)))
              set_string_marked (XSTRING (ptr->u.s.name));
            mark_interval_tree (string_intervals (ptr->u.s.name));
            /* Inner loop to mark next symbol in this bucket, if any.  */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]