[m-dev.] add goal path at external ports

Mark Anthony BROWN dougl at cs.mu.OZ.AU
Thu Jan 28 17:15:07 AEDT 1999

Erwan Jahier writes:
> | > Sure. But if I want to work out the coverage ratio of a several millions events 
> | > execution, it would be far more too inneffective (see after). 
> | 
> | I don't understand.
> Because you need to stop at each internal event, push the path, the call number
> and the name of the procedure to the stack. Then you also need to stop at each
> external event, you need to look up in the stack, ...
> With what I propose, you only stop at external events, and not all of them; 
> only the one not covered yet (this makes a big difference in you have a 
> strongly recursive procedures for example, where you always have the path 
> being covered). 

Ok, I get it now.

> | > Well, is there any reason why this can't be done at compile time (i.e. when 
> | > generating the code and the MR_trace statements ?)
> | 
> | No, this could be done.  But I forgot to mention my main point:  I
> | think this could be done more easily in Opium.
> I know that.
> Could it be done at compile time ? 
> (which is my original question)

If I understand you correctly, then yes.  The goal path could be
stored in the MR_Stack_Layout_Label structure (at compile time), and
for each call you could find a way to pass the caller's stack layout
structure to the called procedure (so it can pass it to MR_trace,
or whatever).

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 mailing list