[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