Call verify_heap before GC to scan for bogosities.
authorMatt Birkholz <puck@birchwood-abbey.net>
Fri, 25 Apr 2014 23:47:06 +0000 (16:47 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Fri, 25 Apr 2014 23:47:06 +0000 (16:47 -0700)
commit6b40ed63f4b89135ae9ecb8ea3e664d528d2bcec
treec58d8a50a00b8981f7bb7027be4f32f932ad302e
parentfd5db95c84a77252ae769893f2bbe4a82f27cbc3
Call verify_heap before GC to scan for bogosities.

Trap recovery (on Unix) occasionally fails the assert in
linkage_section_type when its scan of the heap encounters non-marked
words that are not "hidden" by a non-marked vector header.

The new verify_heap function scans the heap in the same way, and
complains on stderr about any invalid linkage section types, object
types, etc.  If the GC_Debug flag is set, verify_heap is called by the
garbage-collect primitive to scan maximal heap.

The new dump_heap_at function can be used to inspect the heap around a
reported bogosity.
src/microcode/debug.c
src/microcode/extern.h
src/microcode/memmag.c