[m-rev.] for review: fix some test case failures in deep profiling grades

Julien Fischer juliensf at cs.mu.OZ.AU
Tue May 2 17:49:24 AEST 2006


On Tue, 2 May 2006, Zoltan Somogyi wrote:

> compiler/lookup_switch.m:
> 	Fix two bugs that caused test case failures in deep profiling grades.
>
> 	One bug was that an acquired register wasn't being released before
> 	the creation of a resume point, which rebuilds the code generator state
> 	(and thus forgets about acquired registers).
>
> 	The other bug was that is_lookup_switch wasn't performing the actions
> 	generate_goal would have when processing goals. In particular, it
> 	wasn't invoking pre_goal_update and post_goal_update on disjunctions
> 	inside the switch.
>
> compiler/lookup_util.m:
> 	Do not standardize goals by removing scopes from around other goals,
> 	because this could also remove the effects of the code generator
> 	annotations (e.g. liveness changes such as pre-births) on the scope
> 	goal.
>
> compiler/simplify.m:
> 	Eliminate those redundant scopes if asked to do so. Since this is done
> 	before the code generator annotations are put on goals, this is safe.
>
> compiler/code_gen.m:
> compiler/proc_gen.m:
> 	Divide the old code_gen.m into two modules: the new code_gen.m
> 	concerned with generating code for goals, and the new module proc_gen.m
> 	concerned with generating code for procedures. Without this, the code
> 	for handling goals is lost inside the old code_gen.m module.

cvs add proc_gen.m

> compiler/ll_backend.m:
> 	Include the new module.
>
> compiler/mercury_compile.m:
> 	Import proc_gen instead of code_gen, and ask simplify to eliminate
> 	unnecessary scopes before code generation.
>
> compiler/middle_rec.m:
> 	Update a reference to a predicate now in proc_gen.m.
>
> compiler/notes/compiler_design.html:
> 	Document the new module.

That looks fine - (I assume proc_gen.m is almost all code that used to be
in code_gen.m).

Julien.
--------------------------------------------------------------------------
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