comparison src/alloc.c @ 458:c33ae14dd6d0 r21-2-44

Import from CVS: tag r21-2-44
author cvs
date Mon, 13 Aug 2007 11:42:25 +0200
parents e7ef97881643
children 223736d75acb
comparison
equal deleted inserted replaced
457:4b9290a33024 458:c33ae14dd6d0
83 #include <dmalloc.h> 83 #include <dmalloc.h>
84 #define ALLOC_NO_POOLS 84 #define ALLOC_NO_POOLS
85 #endif 85 #endif
86 86
87 #ifdef DEBUG_XEMACS 87 #ifdef DEBUG_XEMACS
88 static int debug_allocation; 88 static Fixnum debug_allocation;
89 static int debug_allocation_backtrace_length; 89 static Fixnum debug_allocation_backtrace_length;
90 #endif 90 #endif
91 91
92 /* Number of bytes of consing done since the last gc */ 92 /* Number of bytes of consing done since the last gc */
93 EMACS_INT consing_since_gc; 93 EMACS_INT consing_since_gc;
94 #define INCREMENT_CONS_COUNTER_1(size) (consing_since_gc += (size)) 94 #define INCREMENT_CONS_COUNTER_1(size) (consing_since_gc += (size))
445 /* Give gdb/dbx enough information to decode Lisp Objects. We make 445 /* Give gdb/dbx enough information to decode Lisp Objects. We make
446 sure certain symbols are always defined, so gdb doesn't complain 446 sure certain symbols are always defined, so gdb doesn't complain
447 about expressions in src/.gdbinit. See src/.gdbinit or src/.dbxrc 447 about expressions in src/.gdbinit. See src/.gdbinit or src/.dbxrc
448 to see how this is used. */ 448 to see how this is used. */
449 449
450 const EMACS_UINT dbg_valmask = ((1UL << VALBITS) - 1) << GCBITS; 450 EMACS_UINT dbg_valmask = ((1UL << VALBITS) - 1) << GCBITS;
451 const EMACS_UINT dbg_typemask = (1UL << GCTYPEBITS) - 1; 451 EMACS_UINT dbg_typemask = (1UL << GCTYPEBITS) - 1;
452 452
453 #ifdef USE_UNION_TYPE 453 #ifdef USE_UNION_TYPE
454 const unsigned char dbg_USE_UNION_TYPE = 1; 454 unsigned char dbg_USE_UNION_TYPE = 1;
455 #else 455 #else
456 const unsigned char dbg_USE_UNION_TYPE = 0; 456 unsigned char dbg_USE_UNION_TYPE = 0;
457 #endif 457 #endif
458 458
459 const unsigned char dbg_valbits = VALBITS; 459 unsigned char dbg_valbits = VALBITS;
460 const unsigned char dbg_gctypebits = GCTYPEBITS; 460 unsigned char dbg_gctypebits = GCTYPEBITS;
461
462 /* On some systems, the above definitions will be optimized away by
463 the compiler or linker unless they are referenced in some function. */
464 long dbg_inhibit_dbg_symbol_deletion (void);
465 long
466 dbg_inhibit_dbg_symbol_deletion (void)
467 {
468 return
469 (dbg_valmask +
470 dbg_typemask +
471 dbg_USE_UNION_TYPE +
472 dbg_valbits +
473 dbg_gctypebits);
474 }
461 475
462 /* Macros turned into functions for ease of debugging. 476 /* Macros turned into functions for ease of debugging.
463 Debuggers don't know about macros! */ 477 Debuggers don't know about macros! */
464 int dbg_eq (Lisp_Object obj1, Lisp_Object obj2); 478 int dbg_eq (Lisp_Object obj1, Lisp_Object obj2);
465 int 479 int