Estimated hours taken: 8
Fix a bug in mdb (for non-conservative-gc grades) where manual memory
allocations in the tracer and memory allocations in the Mercury code
that the tracer calls were overwriting each other, due to confusion
about whether the heap pointer was in its real reg or in its fake_reg
slot.
trace/README:
Document some conventions for dealing with registers,
trace/mercury_trace_util.h:
Define macros to allow easy adherence to those conventions.
trace/mercury_trace_external.c:
trace/mercury_trace_help.c:
trace/mercury_trace_internal.c:
Use the new macros to enforce adherence to the conventions.