* 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.
This commit is contained in:
parent
4b5b528957
commit
52828e02c3
2 changed files with 23 additions and 11 deletions
|
@ -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).
|
||||
|
|
23
src/alloc.c
23
src/alloc.c
|
@ -49,10 +49,18 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include <setjmp.h>
|
||||
#include <verify.h>
|
||||
|
||||
/* GC_MALLOC_CHECK defined means perform validity checks of malloc'd
|
||||
memory. Can do this only if using gmalloc.c. */
|
||||
/* 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
|
||||
|
||||
#if defined SYSTEM_MALLOC || defined DOUG_LEA_MALLOC
|
||||
/* GC_MALLOC_CHECK defined means perform validity checks of malloc'd
|
||||
memory. Can do this only if using gmalloc.c and if not checking
|
||||
marked objects. */
|
||||
|
||||
#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)
|
||||
/ \ / \
|
||||
|
|
Loading…
Add table
Reference in a new issue