Files
mercury/runtime/mercury_agc_debug.h
Fergus Henderson fbd55b8d7c Fix the code in the runtime so that `mmake check_headers' succeeds.
Estimated hours taken: 3

Fix the code in the runtime so that `mmake check_headers' succeeds.

runtime/*.h:
	Add #include statements to make all the header files
	self-contained.

runtime/mercury_table.h:
runtime/mercury_table.c:
	Delete these empty files.
	For some reason zs left these files as empty instead of deleting
	them when he renamed the module as mercury_hash_table.{h,c}.

runtime/mercury_table_builtins.h:
runtime/mercury_table_enum.h:
runtime/mercury_table_any.h:
runtime/mercury_table_type_info.h:
runtime/mercury_table_builtins.c:
runtime/mercury_table_enum.c:
runtime/mercury_table_any.c:
runtime/mercury_table_type_info.c:
runtime/mercury_tabling.h:
runtime/mercury_tabling.c:
	Avoid a circular dependency problem (mercury_tabling.h
	depended on mercury_table_*.h which in turn depended on
	mercury_tabling.h) by moving all the tabling code into
	a single module mercury_tabling.{h,c}.
	The new module is a total of 1100 lines of code,
	which is not too large IMHO.

	Also improve the documentation a little.

runtime/Mmakefile:
	Update the reflect the added and removed files.
	Also update the rule for `mmake check_headers' so that
	it can make use of parallelism in parallel makes.
	And make a start towards enforcing namespace cleanliness --
	I've added code to check it, but not to enforce it.
1998-11-09 10:24:46 +00:00

42 lines
1.2 KiB
C

/*
** Copyright (C) 1998 The University of Melbourne.
** This file may only be copied under the terms of the GNU Library General
** Public License - see the file COPYING.LIB in the Mercury distribution.
*/
#ifndef MERCURY_AGC_DEBUG_H
#define MERCURY_AGC_DEBUG_H
/*
** mercury_agc_debug.h -
** Debugging support for accurate garbage collection.
*/
#include "mercury_types.h" /* for Word */
#include "mercury_label.h" /* for MR_Internal */
#include "mercury_memory_zones.h" /* for MemoryZone */
#include "mercury_accurate_gc.h" /* for MR_RootList */
/*---------------------------------------------------------------------------*/
/*
** MR_agc_dump_stack_frames:
** Dump the stack, writing all information available about each
** stack frame.
**
** label is the topmost label on the stack, heap_zone is the zone
** which the data is stored upon.
*/
extern void MR_agc_dump_stack_frames(MR_Internal *label, MemoryZone
*heap_zone, Word *stack_pointer, Word *current_frame);
/*
** MR_agc_dump_roots:
** Dump the extra rootset, writing all information about each root.
*/
extern void MR_agc_dump_roots(MR_RootList roots);
/*---------------------------------------------------------------------------*/
#endif /* not MERCURY_AGC_DEBUG_H */