At least for now, exit on error so we can try to track them down

This commit is contained in:
Justin Ethier 2015-11-19 02:57:32 -05:00
parent fc29269a26
commit 173e1ca407

12
gc.c
View file

@ -327,12 +327,18 @@ size_t gc_sweep(gc_heap *h, size_t *sum_freed_ptr)
//#if GC_DEBUG_CONCISE_PRINTFS //#if GC_DEBUG_CONCISE_PRINTFS
// DEBUG // DEBUG
if (!is_object_type(p)) if (!is_object_type(p)) {
fprintf(stderr, "sweep: invalid object at %p", p); fprintf(stderr, "sweep: invalid object at %p", p);
if ((char *)q + q->size > (char *)p) exit(1);
}
if ((char *)q + q->size > (char *)p) {
fprintf(stderr, "bad size at %p < %p + %u", p, q, q->size); fprintf(stderr, "bad size at %p < %p + %u", p, q, q->size);
if (r && ((char *)p) + size > (char *)r) exit(1);
}
if (r && ((char *)p) + size > (char *)r) {
fprintf(stderr, "sweep: bad size at %p + %d > %p", p, size, r); fprintf(stderr, "sweep: bad size at %p + %d > %p", p, size, r);
exit(1);
}
// END DEBUG // END DEBUG
//#endif //#endif