[m-dev.] for review: direct retry

Zoltan Somogyi zs at cs.mu.OZ.AU
Thu Oct 12 13:30:10 AEDT 2000


On 12-Oct-2000, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> > compiler/stack_layout.m:
> > 	Generate the three new fields.
> 
> Which three new fields?
> (From the description above, I only count two, and I'm not quite sure
> about those...)

compiler/stack_layout.m:
	Generate the three new fields: the evaluation method, (maybe) the id
	of the stack slot containing the saved value of maxfr, and (maybe)
	the id of the stack slot containing the call table tip.

> > compiler/handle_options.m:
> > 	Disable hijacks if debugging is enabled. This is required for the
> > 	correctness of the code we use to restore the stacks for direct
> > 	retries.
> 
> What about when you mix code which is compiled with debugging and
> without debugging?  Does the direct retry code work correctly in
> that case?

compiler/handle_options.m:
	Disable hijacks if debugging is enabled. The code we now use to
	restore the stacks for direct retries works only if the retry does not
	"backtrack" over a hijacked nondet stack frame whose hijack has not
	been undone. Note that code compiled without debugging may still hijack
	nondet stack frames. Execution may reemerge from the nondebugged region
	in one of two ways. If the nondebugged code returns, then it will have
	undone hijack, and the retry code will work. If the nondebugged code
	calls debugged code, there will be a region on the stacks containing
	no debugging information, and the retry command will refuse to perform
	retries that go into or beyond this region. Both cases preserve
	correctness.

I have also put this as a comment in handle_options.m.

> [I haven't looked at the diff yet, just at the log message.]

I want to work on a change that depends on this, so I want to commit this
before I go home today.

Zoltan.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list