static void die_and_free_mem_heap ( ThreadId tid, Seg* seg ) { // Empty and free the actual block tl_assert(!Seg__is_freed(seg)); VG_(cli_free)( (void*)seg->addr ); // Remember where freed seg->ec = VG_(record_ExeContext)( tid, 0/*first_ip_delta*/ ); set_Seg_freed(seg); unbind_addr_from_Seg( seg->addr ); stats__client_frees++; }
static void die_and_free_mem_heap ( ThreadId tid, Seg* seg ) { tl_assert(!Seg__is_freed(seg)); VG_(cli_free)( (void*)seg->addr ); seg->ec = VG_(record_ExeContext)( tid, 0 ); set_Seg_freed(seg); unbind_addr_from_Seg( seg->addr ); stats__client_frees++; }