[m-rev.] ssdb v1.0 fixed

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Dec 5 17:38:19 AEDT 2007


On Wed, 5 Dec 2007, Ian MacLarty wrote:

> On Wed, Dec 05, 2007 at 02:55:19PM +1100, Julien Fischer wrote:
>>
>>
>>
>> On Wed, 5 Dec 2007, Peter Wang wrote:
>>
>>> On 2007-12-05, Julien Fischer <juliensf at csse.unimelb.edu.au> wrote:
>>>>>        I'm not sure where the ssdb transform should go. I assume as
>>>>> early
>>>>> as
>>>>> 	possible.
>>>>
>>>>  I think the opposite is probably true.
>
> Can you explain your rationale?

For the same reasons that the deep profiling and term-size
profiling transformations are done late in the piece; the transformation
introduces changes the code in various weird ways that are likely
to confuse various other transformations.

> I think earlier is better, because
> generally user's don't want to debug code that's been transformed into
> something unrecognisable (note that the target users of the debugger
> should be Mercury users, not the compiler developers).

So turn the transformations that affect the code off then.

>>>
>>> One problem with doing that is that putting breakpoints on the original
>>> procedures won't work reliably because earlier transformations may have
>>> e.g. specialised that procedure and changed the call sites.  Which
>>> practically means disabling all transformations that might affect the
>>> user's view of the program if ssdb is enabled.
>>
>> Which is what mdb does.  I think trying to preserve the user's
>> view of the program in the presence of program transformations is
>> a fairly tall order.
>>
>
> Doing it early on would allow us to still apply later optimisations
> (which would hopefully speed up the debugger a little bit).  Later
> optimisations shouldn't affect the behaviour of the debugger, because
> the should respect the impurity annotations of the debugger-transformed
> code.

*should* not will.  I understand the point you are making, but from
a development point of view I think it would be easier to get the
debugger working in a context where you are not simultaneously trying
to debug bugs in 20 or so other transformations.

Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list