Mercurial > emacs
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 () |
