/* Used internally; we assume it's called correctly. */ GC_INNER void GC_debug_free_inner(void * p) { ptr_t base = GC_base(p); GC_ASSERT((ptr_t)p - (ptr_t)base == sizeof(oh)); # ifdef LINT2 if (!base) ABORT("Invalid GC_debug_free_inner argument"); # endif # ifndef SHORT_DBG_HDRS /* Invalidate size */ ((oh *)base) -> oh_sz = GC_size(base); # endif GC_free_inner(base); }
/* Used internally; we assume it's called correctly. */ void GC_debug_free_inner(void * p) { GC_free_inner(GC_base(p)); }