From 96eacb2c094e88dc38d9d79e454eb1c19f3dc25d Mon Sep 17 00:00:00 2001 From: Helmut Eller Date: Tue, 28 Oct 2025 09:21:23 +0100 Subject: Move the attribute field of charsets to a separate vector This simplifies the GC code, as this was the only field in the charset struct that referenced the GC heap. Without it, we no longer need to trace the charset_table. * src/charset.h (struct charset.attributes): Removed. (charset_attributes_getter): New helper. (CHARSET_ATTRIBUTES): Use it. * src/charset.c (charset_attributes_table): New. (Fdefine_charset_internal): Place attrs in charset_attributes_table. (syms_of_charset): Initialize charset_attributes_table. (mark_charset): Deleted. * src/pdumper.c (dump_charset): Skip attributes field. * src/lisp.h (mark_charset): Deleted. * src/alloc.c (garbage_collect): mark_charset no longer needed. --- src/alloc.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src/alloc.c') diff --git a/src/alloc.c b/src/alloc.c index c0c24c65737..5da38cadb5d 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -5866,7 +5866,6 @@ garbage_collect (void) mark_terminals (); mark_kboards (); mark_threads (); - mark_charset (); mark_composite (); mark_profiler (); #ifdef HAVE_PGTK -- cgit v1.3