[m-dev.] for review: the new debugger command set (part 1 of 5)

Zoltan Somogyi zs at cs.mu.OZ.AU
Mon Sep 21 13:14:27 AEST 1998


> My biggest criticism is that this is an enormous change, and would
> be much better reviewed as a few different changes.
> 
> The problem is you are not going to get very detailed comments on a
> particular change, because there are 17 separate changes whose diffs are
> intertwined, so it is difficult to remember what a particular change was
> even intended to achieve, let alone whether it is correct.
> 
> Here is a list of what I consider to be the separate changes in
> this diff.
> 	- Change command set.
> 	- Add redo events
> 	- Reduce arguments to MR_trace
> 	- Renumber framevars
> 	- Generate online documentation.
> 	- Add user guide docs for debugging
> 	- Clean up some documentation
> 	- Reorganize handling of tracing levels
> 	- Identify variables separately
> 	- Fix a bug with return live vals not being computed right.
> 	- Allow debugger to output to streams other than stdout.
> 	- Add help.m to the library.
> 	- Add stack layout info for builtin_aggregate
> 	- Fix problem with higher order stack layouts.
> 	- Miscellaneous fixes and additions to the runtime
> 	- Add trace histogram feature.
> 	- A few improvements to bootstrap.

I tried committing some of these as a separate change. It was not approved
because it was not complete. In particular, Fergus rejected my "Change command
set" change because it did not have "Add user guide docs for debugging",
Generate online documentation", and "Add help.m to the library".

Other changes are also linked. "Add redo events" requires changing the
signature of MR_trace, so it reduces disruption if it is done at the same time
as "Reduce arguments to MR_trace". It also requires changes the way framevars
are allocated, so not doing "Renumber framevars" at the same time would require
the same work being done twice. Ditto for "Reorganize handling of tracing
levels".

As for the misc cleanups, Fergus always objects if a diff submitted by anyone
shows that the *original* code had some problem that the diff did not fix.

So you have to make up your minds. Do you want misc cleanups to be included,
or not? Do you want small, easy-to-review changes, or do you want complete
changes?

If this sounds testy, it's because I am.

Zoltan.



More information about the developers mailing list