From: Paul Eggert Date: Sun, 22 Apr 2012 07:41:30 +0000 (-0700) Subject: * alloc.c: Handle unusual debugging option combinations. X-Git-Tag: emacs-24.2.90~471^2~317 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=52828e02c36f599bfe75a527fecc16ace3fb6323;p=emacs.git * 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. --- diff --git a/src/ChangeLog b/src/ChangeLog index a5777058d9c..fb7498b6298 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,14 @@ +2012-04-22 Paul Eggert + + * 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 * sysdep.c (list_system_processes): Support Darwin (Bug#5725). diff --git a/src/alloc.c b/src/alloc.c index 400b11c296a..b029343a848 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -49,10 +49,18 @@ along with GNU Emacs. If not, see . */ #include #include +/* 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) / \ / \