summaryrefslogtreecommitdiff
path: root/src/pdumper.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-03-19 12:37:13 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-03-19 12:37:36 -0700
commit53914a10558a0a579bb30d95da93d677901bc4a9 (patch)
tree7fc6c0c091b7d380fbfc9b7411b3b646eed59fde /src/pdumper.c
parent3ed1621d843e057ad879fbed3605d32f55a065b9 (diff)
downloademacs-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.c9
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;