Mercurial > hg > xemacs-beta
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 |