changeset 42403:6643f205d5db

Add a comment.
author Gerd Moellmann <gerd@gnu.org>
date Sat, 29 Dec 2001 12:47:29 +0000
parents 78c492054239
children ca040d0f5c67
files src/alloc.c
diffstat 1 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/alloc.c	Sat Dec 29 09:24:31 2001 +0000
+++ b/src/alloc.c	Sat Dec 29 12:47:29 2001 +0000
@@ -2711,6 +2711,17 @@
 
 #if GC_MARK_STACK || defined GC_MALLOC_CHECK
 
+/* Conservative C stack marking requires a method to identify possibly
+   live Lisp objects given a pointer value.  We do this by keeping
+   track of blocks of Lisp data that are allocated in a red-black tree
+   (see also the comment of mem_node which is the type of nodes in
+   that tree).  Function lisp_malloc adds information for an allocated
+   block to the red-black tree with calls to mem_insert, and function
+   lisp_free removes it with mem_delete.  Functions live_string_p etc
+   call mem_find to lookup information about a given pointer in the
+   tree, and use that to determine if the pointer points to a Lisp
+   object or not.  */
+
 /* Initialize this part of alloc.c.  */
 
 static void