changeset 11374:1ebc81f84aa4

(inhibit_garbage_collection): New function.
author Richard M. Stallman <rms@gnu.org>
date Tue, 11 Apr 1995 20:19:46 +0000
parents 8381a25d021e
children c7777cf7ef6c
files src/alloc.c
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/alloc.c	Tue Apr 11 19:47:26 1995 +0000
+++ b/src/alloc.c	Tue Apr 11 20:19:46 1995 +0000
@@ -155,6 +155,8 @@
 /* Non-zero means ignore malloc warnings.  Set during initialization.  */
 int ignore_warnings;
 
+Lisp_Object Qgc_cons_threshold;
+
 static void mark_object (), mark_buffer (), mark_kboards ();
 static void clear_marks (), gc_sweep ();
 static void compact_strings ();
@@ -1316,6 +1318,18 @@
 int total_free_floats, total_floats;
 #endif /* LISP_FLOAT_TYPE */
 
+/* Temporarily prevent garbage collection.  */
+
+int
+inhibit_garbage_collection ()
+{
+  int count = specpdl_ptr - specpdl;
+
+  specbind (Qgc_cons_threshold, make_number ((1 << (VALBITS - 1)) - 1));
+
+  return count;
+}
+
 DEFUN ("garbage-collect", Fgarbage_collect, Sgarbage_collect, 0, 0, "",
   "Reclaim storage for Lisp objects no longer needed.\n\
 Returns info on amount of space in use:\n\
@@ -2419,6 +2433,9 @@
     = Fcons (Qerror, Fcons (build_string ("Memory exhausted--use M-x save-some-buffers RET"), Qnil));
   staticpro (&memory_signal_data);
 
+  staticpro (&Qgc_cons_threshold);
+  Qgc_cons_threshold = intern ("gc-cons-threshold");
+
   defsubr (&Scons);
   defsubr (&Slist);
   defsubr (&Svector);