[m-dev.] for review: mdb support for exceptions
Mark Anthony BROWN
dougl at cs.mu.OZ.AU
Thu Dec 10 14:34:02 AEDT 1998
Fergus Henderson writes:
> Estimated hours taken: 8
> Add support for exceptions to the debugger, and
> add support for debugging to the exception module.
> Add `exception' to the trace_port_type enumeration.
> Add MR_PORT_EXCEPTION to the MR_Trace_Port enumeration.
> Modify the code to handle MR_PORT_EXCEPTION.
> - 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').
> Add some comments relating to the above changes.
> + MR_succip = (Code *) MR_succip;
This seems wrong.
> + succip = (Code *) MR_stackvar(1);
The rest of the changes are okay.
Mark Brown (dougl at cs.mu.oz.au) )O+ | For Microsoft to win,
MEngSc student, | the customer must lose
Dept of Computer Science, Melbourne Uni | -- Eric S. Raymond
More information about the developers