[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/alloc.c
From: |
Gerd Moellmann |
Subject: |
[Emacs-diffs] Changes to emacs/src/alloc.c |
Date: |
Sat, 29 Dec 2001 07:47:29 -0500 |
Index: emacs/src/alloc.c
diff -c emacs/src/alloc.c:1.258 emacs/src/alloc.c:1.259
*** emacs/src/alloc.c:1.258 Sun Dec 16 16:52:36 2001
--- emacs/src/alloc.c Sat Dec 29 07:47:29 2001
***************
*** 2711,2716 ****
--- 2711,2727 ----
#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