[m-rev.] for review: bug compiler abort on dep_par_14b.m

Julien Fischer juliensf at csse.unimelb.edu.au
Mon Apr 30 16:02:52 AEST 2007


On Mon, 30 Apr 2007, Peter Wang wrote:

> Branches: main
>
> Fix a bug causing the compiler to abort on tests/par_conj/dep_par_14b.m when
> --intermod-opt was enabled (allowing superfluous calls to par_builtin.get be
> deleted).
>
> The problem could occur if a parallel conjunction was inside a disjunction.
> A variable that was dead in the disjunct containing the parallel conjunction
> may be required in a later disjunct, but this was not taken into account so
> the stack slot holding the variable might then be erroneously reused.
>
> compiler/live_vars.m:
> 	Make the variables which may become live again on backtracking past
> 	the parallel conjunction (ResumeVars0) part of the set of variables
> 	which need their own stack slots during execution of a parallel
> 	conjunction, so the stack slot allocator won't reuse their slots.
>

That looks fine.

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