[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 89350d4 5/6: Use mark_objects elsewhere too
From: |
Paul Eggert |
Subject: |
master 89350d4 5/6: Use mark_objects elsewhere too |
Date: |
Mon, 31 Aug 2020 03:06:04 -0400 (EDT) |
branch: master
commit 89350d4878aa850624a7fd5d36f981db840fa9af
Author: Paul Eggert <eggert@cs.ucla.edu>
Commit: Paul Eggert <eggert@cs.ucla.edu>
Use mark_objects elsewhere too
* src/alloc.c (mark_vectorlike, mark_face_cache):
* src/eval.c (mark_specpdl):
* src/fringe.c (mark_fringe_data):
* src/keyboard.c (mark_kboards):
Use mark_objects instead of doing it by hand.
---
src/alloc.c | 10 +++-------
src/eval.c | 3 +--
src/fringe.c | 6 +-----
src/keyboard.c | 8 +++-----
4 files changed, 8 insertions(+), 19 deletions(-)
diff --git a/src/alloc.c b/src/alloc.c
index 2f66b5e..6b5bfcb 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -6247,7 +6247,6 @@ mark_vectorlike (union vectorlike_header *header)
{
struct Lisp_Vector *ptr = (struct Lisp_Vector *) header;
ptrdiff_t size = ptr->header.size;
- ptrdiff_t i;
eassert (!vector_marked_p (ptr));
@@ -6262,8 +6261,7 @@ mark_vectorlike (union vectorlike_header *header)
the number of Lisp_Object fields that we should trace.
The distinction is used e.g. by Lisp_Process which places extra
non-Lisp_Object fields at the end of the structure... */
- for (i = 0; i < size; i++) /* ...and then mark its elements. */
- mark_object (ptr->contents[i]);
+ mark_objects (ptr->contents, size);
}
/* Like mark_vectorlike but optimized for char-tables (and
@@ -6362,8 +6360,7 @@ mark_face_cache (struct face_cache *c)
{
if (c)
{
- int i, j;
- for (i = 0; i < c->used; ++i)
+ for (int i = 0; i < c->used; i++)
{
struct face *face = FACE_FROM_ID_OR_NULL (c->f, i);
@@ -6372,8 +6369,7 @@ mark_face_cache (struct face_cache *c)
if (face->font && !vectorlike_marked_p (&face->font->header))
mark_vectorlike (&face->font->header);
- for (j = 0; j < LFACE_VECTOR_SIZE; ++j)
- mark_object (face->lface[j]);
+ mark_objects (face->lface, LFACE_VECTOR_SIZE);
}
}
}
diff --git a/src/eval.c b/src/eval.c
index a9bce55..126ee2e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3974,8 +3974,7 @@ mark_specpdl (union specbinding *first, union specbinding
*ptr)
mark_object (backtrace_function (pdl));
if (nargs == UNEVALLED)
nargs = 1;
- while (nargs--)
- mark_object (backtrace_args (pdl)[nargs]);
+ mark_objects (backtrace_args (pdl), nargs);
}
break;
diff --git a/src/fringe.c b/src/fringe.c
index c3d64fe..7549669 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -1733,11 +1733,7 @@ If nil, also continue lines which are exactly as wide as
the window. */);
void
mark_fringe_data (void)
{
- int i;
-
- for (i = 0; i < max_fringe_bitmaps; i++)
- if (!NILP (fringe_faces[i]))
- mark_object (fringe_faces[i]);
+ mark_objects (fringe_faces, max_fringe_bitmaps);
}
/* Initialize this module when Emacs starts. */
diff --git a/src/keyboard.c b/src/keyboard.c
index 5fa58ab..590d183 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -12475,13 +12475,11 @@ keys_of_keyboard (void)
void
mark_kboards (void)
{
- KBOARD *kb;
- Lisp_Object *p;
- for (kb = all_kboards; kb; kb = kb->next_kboard)
+ for (KBOARD *kb = all_kboards; kb; kb = kb->next_kboard)
{
if (kb->kbd_macro_buffer)
- for (p = kb->kbd_macro_buffer; p < kb->kbd_macro_ptr; p++)
- mark_object (*p);
+ mark_objects (kb->kbd_macro_buffer,
+ kb->kbd_macro_ptr - kb->kbd_macro_buffer);
mark_object (KVAR (kb, Voverriding_terminal_local_map));
mark_object (KVAR (kb, Vlast_command));
mark_object (KVAR (kb, Vreal_last_command));
- master updated (886ba06 -> 416195f), Paul Eggert, 2020/08/31
- master 2ff930d 1/6: Fix GC bug with Lisp floats and --with-wide-int, Paul Eggert, 2020/08/31
- master 7e2f6f8 4/6: Remove mark_maybe_object, Paul Eggert, 2020/08/31
- master cf95bb0 3/6: Avoid some false matches in mark_maybe_pointer, Paul Eggert, 2020/08/31
- master aa1b586 2/6: Omit no-longer-needed stack mark_maybe_object, Paul Eggert, 2020/08/31
- master 89350d4 5/6: Use mark_objects elsewhere too,
Paul Eggert <=
- master 416195f 6/6: * src/lisp.h (lisp_h_XPL, XPL): Remove; unused., Paul Eggert, 2020/08/31