These are miscellaneous changes made by Fergus Henderson.

misc.c:
mos_dep.c:
    As above.

doc/README.debugging:
    Some notes about debugging.
Add basic calculation of the total collection time.

alloc.c:
    Add the duration of each stop the world collection to a new global
    variable which records the total time spent in the GC.

include/gc.h:
    Expose the variable containing the total amount of time spent in
    collection and another variable that enables and disables this
    calculation.

This code was written by Zoltan Somogyi on 18/3/2008.
Add callbacks that can be used by a profiler

Add callback functions that can be used by a profiler, such as Mercury's
parallel execution profiler (formerly called ThreadScope support).

ainclude/gc.h:
    Declare all the callbacks

alloc.c:
    Use callbacks for when GC starts and stops.

pthread_stop_world.c:
    Use callbacks for when a thread is stopped for garbage collection.

This code was originaly developed by myself on 3/12/2009.
Add support for enumerating the reachable objects in the heap

This can be used to do heap profiling, helping the developer work out which
objects are live or what kinds of objects account for a lot of their heap
space.

alloc.c:
include/gc.h:
include/private/gc_priv.h:
misc.c:
reclaim.c:
    As above.

This was originally developed by Peter Wang on 20/5/2011.