From: Richard M. Stallman Date: Wed, 13 Aug 1997 04:13:39 +0000 (+0000) Subject: (free_marker): New function. X-Git-Tag: emacs-20.1~616 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fd27a53736853160650a0dcfcd9910d1baaa9daa;p=emacs.git (free_marker): New function. --- 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