From fd27a53736853160650a0dcfcd9910d1baaa9daa Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 13 Aug 1997 04:13:39 +0000 Subject: [PATCH] (free_marker): New function. --- src/alloc.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/alloc.c b/src/alloc.c index b6480a63c81..b488a28309c 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -112,6 +112,12 @@ extern int undo_limit; int undo_strong_limit; +int total_conses, total_markers, total_symbols, total_string_size, total_vector_size; +int total_free_conses, total_free_markers, total_free_symbols; +#ifdef LISP_FLOAT_TYPE +int total_free_floats, total_floats; +#endif /* LISP_FLOAT_TYPE */ + /* Points to memory space allocated as "spare", to be freed if we run out of memory. */ static char *spare_memory; @@ -1032,6 +1038,18 @@ DEFUN ("make-marker", Fmake_marker, Smake_marker, 0, 0, 0, p->insertion_type = 0; return val; } + +/* Put MARKER back on the free list after using it temporarily. */ + +free_marker (marker) + Lisp_Object marker; +{ + XMISC (marker)->u_marker.type = Lisp_Misc_Free; + XMISC (marker)->u_free.chain = marker_free_list; + marker_free_list = XMISC (marker); + + total_free_markers++; +} /* Allocation of strings */ @@ -1476,12 +1494,6 @@ struct backtrace /* Garbage collection! */ -int total_conses, total_markers, total_symbols, total_string_size, total_vector_size; -int total_free_conses, total_free_markers, total_free_symbols; -#ifdef LISP_FLOAT_TYPE -int total_free_floats, total_floats; -#endif /* LISP_FLOAT_TYPE */ - /* Temporarily prevent garbage collection. */ int -- 2.39.5