comparison src/alloc.c @ 19332:58f14958f5d5

(free_marker): New function.
author Richard M. Stallman <rms@gnu.org>
date Wed, 13 Aug 1997 04:13:39 +0000
parents 53b95f307c75
children 74151390752c
comparison
equal deleted inserted replaced
19331:bc4c4e15a135 19332:58f14958f5d5
109 int malloc_sbrk_unused; 109 int malloc_sbrk_unused;
110 110
111 /* Two limits controlling how much undo information to keep. */ 111 /* Two limits controlling how much undo information to keep. */
112 int undo_limit; 112 int undo_limit;
113 int undo_strong_limit; 113 int undo_strong_limit;
114
115 int total_conses, total_markers, total_symbols, total_string_size, total_vector_size;
116 int total_free_conses, total_free_markers, total_free_symbols;
117 #ifdef LISP_FLOAT_TYPE
118 int total_free_floats, total_floats;
119 #endif /* LISP_FLOAT_TYPE */
114 120
115 /* Points to memory space allocated as "spare", 121 /* Points to memory space allocated as "spare",
116 to be freed if we run out of memory. */ 122 to be freed if we run out of memory. */
117 static char *spare_memory; 123 static char *spare_memory;
118 124
1030 p->bufpos = 0; 1036 p->bufpos = 0;
1031 p->chain = Qnil; 1037 p->chain = Qnil;
1032 p->insertion_type = 0; 1038 p->insertion_type = 0;
1033 return val; 1039 return val;
1034 } 1040 }
1041
1042 /* Put MARKER back on the free list after using it temporarily. */
1043
1044 free_marker (marker)
1045 Lisp_Object marker;
1046 {
1047 XMISC (marker)->u_marker.type = Lisp_Misc_Free;
1048 XMISC (marker)->u_free.chain = marker_free_list;
1049 marker_free_list = XMISC (marker);
1050
1051 total_free_markers++;
1052 }
1035 1053
1036 /* Allocation of strings */ 1054 /* Allocation of strings */
1037 1055
1038 /* Strings reside inside of string_blocks. The entire data of the string, 1056 /* Strings reside inside of string_blocks. The entire data of the string,
1039 both the size and the contents, live in part of the `chars' component of a string_block. 1057 both the size and the contents, live in part of the `chars' component of a string_block.
1473 /* if nargs is UNEVALLED, args points to slot holding list of unevalled args */ 1491 /* if nargs is UNEVALLED, args points to slot holding list of unevalled args */
1474 char evalargs; 1492 char evalargs;
1475 }; 1493 };
1476 1494
1477 /* Garbage collection! */ 1495 /* Garbage collection! */
1478
1479 int total_conses, total_markers, total_symbols, total_string_size, total_vector_size;
1480 int total_free_conses, total_free_markers, total_free_symbols;
1481 #ifdef LISP_FLOAT_TYPE
1482 int total_free_floats, total_floats;
1483 #endif /* LISP_FLOAT_TYPE */
1484 1496
1485 /* Temporarily prevent garbage collection. */ 1497 /* Temporarily prevent garbage collection. */
1486 1498
1487 int 1499 int
1488 inhibit_garbage_collection () 1500 inhibit_garbage_collection ()