disable immobile-box debugging code

This commit is contained in:
Matthew Flatt 2010-10-16 19:53:08 -06:00
parent 3f28042517
commit aa1322845e

View File

@ -17,8 +17,10 @@ void **GC_malloc_immobile_box(void *p)
void GC_free_immobile_box(void **b) void GC_free_immobile_box(void **b)
{ {
GCTYPE *gc = GC_get_GC(); GCTYPE *gc = GC_get_GC();
GC_Immobile_Box *ib; GC_Immobile_Box *ib = (GC_Immobile_Box *)b;
#if 0
/* For debugging: */
for(ib = gc->immobile_boxes; ib; ib = ib->next) for(ib = gc->immobile_boxes; ib; ib = ib->next)
if(PPTR(ib) == b) { if(PPTR(ib) == b) {
if(ib->prev) ib->prev->next = ib->next; if(ib->prev) ib->prev->next = ib->next;
@ -28,6 +30,12 @@ void GC_free_immobile_box(void **b)
return; return;
} }
GCWARN((GCOUTF, "Attempted free of non-existent immobile box %p\n", b)); GCWARN((GCOUTF, "Attempted free of non-existent immobile box %p\n", b));
#else
if(ib->prev) ib->prev->next = ib->next;
if(!ib->prev) gc->immobile_boxes = ib->next;
if(ib->next) ib->next->prev = ib->prev;
free(ib);
#endif
} }
#define traverse_immobiles(gcMUCK, set_bt_src) { \ #define traverse_immobiles(gcMUCK, set_bt_src) { \