[m-rev.] for review: fix asm_fast.par.gc

Peter Wang wangp at students.cs.mu.OZ.AU
Tue Mar 7 17:54:11 AEDT 2006


On 2006-03-07, Julien Fischer <juliensf at cs.mu.OZ.AU> wrote:
> > Index: compiler/par_conj_gen.m
> > ===================================================================
> > RCS file: /home/mercury1/repository/mercury/compiler/par_conj_gen.m,v
> > retrieving revision 1.21
> > diff -u -r1.21 par_conj_gen.m
> > --- compiler/par_conj_gen.m	17 Nov 2005 15:57:26 -0000	1.21
> > +++ compiler/par_conj_gen.m	6 Mar 2006 12:06:49 -0000
> > @@ -264,7 +264,7 @@
> >  copy_outputs(CI, [Var | Vars], SpSlot, Code) :-
> >      code_info__get_variable_slot(CI, Var, SrcSlot),
> >      ( SrcSlot = stackvar(SlotNum) ->
> > -        NegSlotNum = (- SlotNum),
> > +        NegSlotNum = (1 - SlotNum),
> >          DestSlot = field(yes(0), lval(SpSlot), const(int_const(NegSlotNum)))
> 
> It's probably worth adding a comment about that there.

Ok.

> Otherwise that's
> fine.  Does this change fix any of the problems with the lowlevel .par
> grades?

Yes, that was the intention :-)  Parallel conjunctions in the lowlevel
.par grades can execute in separate threads if you set the
MERCURY_OPTIONS variable with "-Pn", where n is the number of threads to
spawn initially.

There remains a problem where, if n is too large, the process fails to
exit.  It's probably waiting on a mutex or something, but I haven't
investigated yet.

Peter
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list