[m-dev.] for review: optimizing stack slots used by nondet live vars

Zoltan Somogyi zs at cs.mu.OZ.AU
Tue Aug 15 19:55:03 AEST 2000


On 09-Aug-2000, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> For review by anyone.
> 
> compiler/live_vars.m:
> 	Optimize the treatment of nondet live variables. Previously
> 	we reserved a stack slot in all following code for all variables
> 	that may be needed on backtracking. We still treat variables
> 	needed by nondet calls and nondet disjunctions this way, but
> 	we reserve stack slots for variables needed by the resumption
> 	point in an if-then-else only for the duration of the execution
> 	of the condition. Since the resumption point is cut away when
> 	execution enters the then part, those stack slots can be reused
> 	in the then part. And since the resumption point is also "used up"
> 	when execution enters the else part, those stack slots can also be
> 	reused in the else part, and in the code after the if-then-else.

Since there is no review forthcoming or even promised, and the diff has passed
bootcheck and all the test cases, I will commit this now.

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