# HG changeset patch # User Richard M. Stallman # Date 871445619 0 # Node ID 58f14958f5d5dcce532010513f39e9606d50b08d # Parent bc4c4e15a1353dc9d00df3197b0a7a6b99edf15d (free_marker): New function. diff -r bc4c4e15a135 -r 58f14958f5d5 src/alloc.c --- a/src/alloc.c Wed Aug 13 04:13:22 1997 +0000 +++ b/src/alloc.c Wed Aug 13 04:13:39 1997 +0000 @@ -112,6 +112,12 @@ 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 @@ 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 @@ /* 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