emacs-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]