Commit Graph

4 Commits

Author SHA1 Message Date
Zoltan Somogyi
81a9c6adcf Fix references to COMPACT_ARGS and to obsolete stack layout macros.
Estimated hours taken: 0.2

extras/exceptions/exception.m:
	Fix references to COMPACT_ARGS and to obsolete stack layout macros.
1999-06-09 07:12:55 +00:00
Fergus Henderson
6cf5a976b7 Rename base_type* as type_ctor*, using Tyson's sed script,
Estimated hours taken: 0.25

extras/exceptions/exception.m:
extras/clpr/cfloat.m:
	Rename base_type* as type_ctor*, using Tyson's sed script,
	to match Tyson's changes to runtime/* and elsewhere.
1999-03-24 08:53:54 +00:00
Fergus Henderson
55ffc62ed3 Add support for exceptions to the debugger, and
Estimated hours taken: 8

Add support for exceptions to the debugger, and
add support for debugging to the exception module.

browser/debugger_interface.m:
	Add `exception' to the trace_port_type enumeration.

runtime/mercury_trace_base.h:
	Add MR_PORT_EXCEPTION to the MR_Trace_Port enumeration.

trace/mercury_trace_internal.c:
trace/mercury_trace.h:
trace/mercury_trace.c:
	Modify the code to handle MR_PORT_EXCEPTION.

extras/exceptions/exception.m:
	- Define stack layout structures for the hand-written procedures
	  `builtin_throw' and `builtin_catch'.
	- Use mktempframe() rather than mkframe() to allocate the temporary
	  frames used to prevent hijacking of the exception-catching frame
	  (this is more efficient, and avoids the need to give a stack
	  layout for those frames).
	- Change the code for builtin_throw/1 so that if MR_trace_enabled
	  is true, it calls a new function trace_throw(), which calls
	  MR_trace(..., MR_PORT_EXCEPTION, ...) for each stack frame.
	- Fix some type errors occurring for non-GC grades.
	- Fix some uses of obsolete names (e.g. replace `hp' with `MR_hp').

runtime/mercury_trace_base.c:
compiler/trace.m:
	Add some comments relating to the above changes.
1998-12-14 16:05:20 +00:00
Fergus Henderson
62da652a68 Add support for exception handling, in extras/exceptions.
Estimated hours taken: 80

Add support for exception handling, in extras/exceptions.

extras/exceptions/README:
	Describes the files in this directory.

extras/exceptions/exception.m:
	Contains the exception handling interface and implementation.

extras/exceptions/test_exceptions.m:
extras/exceptions/test_exceptions.exp:
extras/exceptions/test_uncaught_exception.m:
extras/exceptions/test_uncaught_exception.exp:
extras/exceptions/test_exceptions_func.m:
extras/exceptions/test_exceptions_func.exp:
	Test cases.

extras/exceptions/Mmakefile:
	The Mmakefile for building and running the test cases.
1998-07-22 14:32:02 +00:00