]> git.eshelyaron.com Git - emacs.git/commitdiff
* alloc.c: Handle unusual debugging option combinations.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 22 Apr 2012 07:41:30 +0000 (00:41 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 22 Apr 2012 07:41:30 +0000 (00:41 -0700)
(GC_CHECK_MARKED_OBJECTS): Undef if ! GC_MARK_STACK,
since the two debugging options are incompatible.
(GC_MALLOC_CHECK): Similarly, undef if GC_CHECK_MARKED_OBJECTS
is defined.
(mem_init, mem_insert, mem_insert_fixup):
Define if GC_MARK_STACK || GC_MALLOC_CHECK.
(NEED_MEM_INSERT): Remove; no longer needed.

src/ChangeLog
src/alloc.c

index a5777058d9c3b93ed4a6605741c7931d4e1684a7..fb7498b6298129e5a6b5597a618ae2b605b60a96 100644 (file)
@@ -1,3 +1,14 @@
+2012-04-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * alloc.c: Handle unusual debugging option combinations.
+       (GC_CHECK_MARKED_OBJECTS): Undef if ! GC_MARK_STACK,
+       since the two debugging options are incompatible.
+       (GC_MALLOC_CHECK): Similarly, undef if GC_CHECK_MARKED_OBJECTS
+       is defined.
+       (mem_init, mem_insert, mem_insert_fixup):
+       Define if GC_MARK_STACK || GC_MALLOC_CHECK.
+       (NEED_MEM_INSERT): Remove; no longer needed.
+
 2012-04-22  Leo Liu  <sdl.web@gmail.com>
 
        * sysdep.c (list_system_processes): Support Darwin (Bug#5725).
index 400b11c296aabd95aa461090797fb7c20aaea6c0..b029343a8484c7f9b180a970c3ee980a873c8c85 100644 (file)
@@ -49,10 +49,18 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #include <setjmp.h>
 #include <verify.h>
 
+/* GC_CHECK_MARKED_OBJECTS means do sanity checks on allocated objects.
+   Doable only if GC_MARK_STACK.  */
+#if ! GC_MARK_STACK
+# undef GC_CHECK_MARKED_OBJECTS
+#endif
+
 /* GC_MALLOC_CHECK defined means perform validity checks of malloc'd
-   memory.  Can do this only if using gmalloc.c.  */
+   memory.  Can do this only if using gmalloc.c and if not checking
+   marked objects.  */
 
-#if defined SYSTEM_MALLOC || defined DOUG_LEA_MALLOC
+#if (defined SYSTEM_MALLOC || defined DOUG_LEA_MALLOC \
+     || defined GC_CHECK_MARKED_OBJECTS)
 #undef GC_MALLOC_CHECK
 #endif
 
@@ -391,11 +399,8 @@ static int live_float_p (struct mem_node *, void *);
 static int live_misc_p (struct mem_node *, void *);
 static void mark_maybe_object (Lisp_Object);
 static void mark_memory (void *, void *);
+#if GC_MARK_STACK || defined GC_MALLOC_CHECK
 static void mem_init (void);
-#if (defined GC_MALLOC_CHECK                        \
-     ? !defined SYSTEM_MALLOC && !defined SYNC_INPUT \
-     : GC_MARK_STACK)
-# define NEED_MEM_INSERT
 static struct mem_node *mem_insert (void *, void *, enum mem_type);
 static void mem_insert_fixup (struct mem_node *);
 #endif
@@ -3578,8 +3583,6 @@ mem_find (void *start)
 }
 
 
-#ifdef NEED_MEM_INSERT
-
 /* Insert a new node into the tree for a block of memory with start
    address START, end address END, and type TYPE.  Value is a
    pointer to the node that was inserted.  */
@@ -3727,8 +3730,6 @@ mem_insert_fixup (struct mem_node *x)
   mem_root->color = MEM_BLACK;
 }
 
-#endif /* NEED_MEM_INSERT */
-
 
 /*   (x)                   (y)
      / \                   / \