[m-rev.] diff/for review: static cells in arrays

Julien Fischer juliensf at cs.mu.OZ.AU
Tue Mar 7 14:01:01 AEDT 2006


On Mon, 6 Mar 2006, Zoltan Somogyi wrote:

> Change the way we represent static cells. Instead of generating a separate
> global variable for each static cell, generate global variables that are
> arrays, each containing all the static cells of the same type. By reducing
> the number of symbols requiring relocation, this reduces link times,
> especially in debug grades (since those have lots of static cells).
>
> compiler/global_data.m:
> 	Rewrite the part of this module that handles static cells in line
> 	with the above.
>
> compiler/llds.m:
> 	Modify the data structures for representing static cells in line with
> 	the above.
>
> compiler/llds_out.m:
> 	Delete all the code for grouping together all the static cells of the
> 	same type, since it is not needed anymore. Replace with simpler code
> 	to print out the new arrays of static cells.
>
> 	Rename some predicates to eliminate ambiguity.
>
> compiler/opt_debug.m:
> 	Conform to the change in llds.m.
>
> compiler/rtti_out.m:
> 	Conform to the change in llds_out.m.
>
> compiler/hlds_pred.m:
> 	Fix a comment.
>
> runtime/mercury_misc.h:
> runtime/mercury_stack_layout.h:
> 	Create variants of the existing shorthand macros to refer to static
> 	cells that refer to static cells not by cell number but by a specified
> 	offset in a specified array.
>
> 	Once this change has been bootstrapped on all our machines, the old
> 	variants can be deleted.

That looks okay.

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