diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2019-03-19 12:37:13 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2019-03-19 12:37:36 -0700 |
commit | 53914a10558a0a579bb30d95da93d677901bc4a9 (patch) | |
tree | 7fc6c0c091b7d380fbfc9b7411b3b646eed59fde /src/pdumper.c | |
parent | 3ed1621d843e057ad879fbed3605d32f55a065b9 (diff) | |
download | emacs-53914a10558a0a579bb30d95da93d677901bc4a9.tar.gz |
Use ‘const’ to clarify GC marking
Add ‘const’ to make the GC marking code a bit clearer.
This can also help the compiler in some cases, I think because
GCC can now determine more often that the value of a static C
variable can be cached when its address is now converted to
‘Lisp Object const *’ before escaping.
* src/alloc.c (staticvec, mark_maybe_objects, mark_memory)
(mark_stack, staticpro, mark_object_root_visitor)
(garbage_collect_1):
* src/pdumper.c (dump_ptr_referrer, dump_emacs_reloc_to_lv)
(dump_emacs_reloc_to_emacs_ptr_raw, dump_root_visitor):
* src/lisp.h (vcopy, struct gc_root_visitor):
* src/sysdep.c (stack_overflow):
* src/thread.c (mark_one_thread):
* src/thread.h (struct thread_state):
Use pointer-to-const instead of plain pointer in some
GC-related places where either will do.
Diffstat (limited to 'src/pdumper.c')
-rw-r--r-- | src/pdumper.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/pdumper.c b/src/pdumper.c index 92e19497e59..fbf17d1629e 100644 --- a/src/pdumper.c +++ b/src/pdumper.c @@ -674,7 +674,7 @@ DUMP_CLEAR_REFERRER (struct dump_context *ctx) } static Lisp_Object -dump_ptr_referrer (const char *label, void *address) +dump_ptr_referrer (const char *label, void const *address) { char buf[128]; buf[0] = '\0'; @@ -1631,7 +1631,7 @@ dump_emacs_reloc_to_dump_ptr_raw (struct dump_context *ctx, automatically queues the value for dumping if necessary. */ static void dump_emacs_reloc_to_lv (struct dump_context *ctx, - Lisp_Object *emacs_ptr, + Lisp_Object const *emacs_ptr, Lisp_Object value) { if (dump_object_self_representing_p (value)) @@ -1659,7 +1659,7 @@ dump_emacs_reloc_to_lv (struct dump_context *ctx, back into the Emacs image. */ static void dump_emacs_reloc_to_emacs_ptr_raw (struct dump_context *ctx, void *emacs_ptr, - void *target_emacs_ptr) + void const *target_emacs_ptr) { if (!ctx->flags.dump_object_contents) return; @@ -1738,7 +1738,8 @@ dump_remember_fixup_ptr_raw (struct dump_context *ctx, } static void -dump_root_visitor (Lisp_Object *root_ptr, enum gc_root_type type, void *data) +dump_root_visitor (Lisp_Object const *root_ptr, enum gc_root_type type, + void *data) { struct dump_context *ctx = data; Lisp_Object value = *root_ptr; |