Updates to the accurage garbage collector (including fixes to get it to

Estimated hours taken: 8

Updates to the accurage garbage collector (including fixes to get it to
compile and also to use the MR_Long_Lval and MR_Short_Lval code).
A prototype of non-det stack tracing.

runtime/mercury_accurate_gc.c:
runtime/mercury_accurate_gc.h:
runtime/mercury_agc_debug.c:
runtime/mercury_agc_debug.h:
	Updates to the GC necessary to get it to compile.

runtime/mercury_conf_param.h:
runtime/mercury_wrapper.c:
	Add an option to set the heap very small (useful for debugging).

runtime/mercury_deep_copy.c:
runtime/mercury_deep_copy_body.h:
	Start adding checks for traversal range (things that aren't on
	the heap, but might contain pointers into the heap).
	Not all of the checks have been done yet.

runtime/mercury_layout_util.c:
runtime/mercury_layout_util.h:
	Fix a type -- MR_TypeInfo instead of MR_Word.

runtime/mercury_memory_handlers.c:
	Add get_curfr_from_context

runtime/mercury_stack_layout.h:
	Fix a comment.
	Define MR_SHORT_LVAL_NUMBER to find the number (e.g. register
	number or stack from) from a short lval.
This commit is contained in:
Tyson Dowd
2000-11-07 08:58:35 +00:00
parent 9aeb9ca557
commit 5384f88ac2
12 changed files with 719 additions and 199 deletions

View File

@@ -135,6 +135,6 @@ extern bool MR_get_type_base(const MR_Stack_Layout_Vars *vars, int var,
** and it may also clobber the real registers.
*/
extern void MR_write_variable(MR_Word type_info, MR_Word value);
extern void MR_write_variable(MR_TypeInfo type_info, MR_Word value);
#endif /* MERCURY_LAYOUT_UTIL_H */