[m-rev.] Add a listing facility to mdb

Zoltan Somogyi zs at cs.mu.OZ.AU
Tue Oct 25 17:33:30 AEST 2005


On 25-Oct-2005, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> Ideally with --trace-optimize you'd get a "TAILCALL" event
> at the tail call, instead of a CALL event and an EXIT event.

Actually, you should get a TAILCALL event instead of the exit event,
followed by the CALL event of the callee. The callee can't statically
know whether it was called or tailcalled, and making it discover it
at runtime would slow things down.

However, all that would require significant changes in the compiler,
and even more in the debugger. For example, the declarative debugger
wants to know what the values of the output arguments are at EXIT events.
If you optimize away the EXIT events, you need to record enough information
to allow them to be synthesized later if and when they are needed, and
this is far from trivial.

Zoltan.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list