[m-dev.] data representation optimizations for IL/Java

Tyson Dowd trd at cs.mu.OZ.AU
Fri Aug 17 20:34:55 AEST 2001


One that shouldn't be too hard is to represent enumerations as
integers/enumerations and not "tags" on "MR_Words" (i.e. length 1
arrays).  IIRC the only reason this was not done is the abstract data
types problem (that intermodule optimization solves).

On 17-Aug-2001, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> Here's some optimizations that would speed things up with
> --high-level-data for the IL and Java back-ends:
> 
> 	(a) static ground term optimization
> 	(b) optimize single-constructor types
> 	(c) optimize first nullary constructor using `null'
> 	(d) optimize subsequent nullary constructors using named static objects
> 	(e) try using castclass alone rather than tag field + castclass.
> 	(f) avoid redundant castclass instructions,
> 	    especially when accessing two fields of the same object
> 
> I am currently working on (c) and (d), and am more than half way.
> I plan to work on (b) sometime soon if I get time.
> 
> I had a brief look at (a).  I think that implementating static ground term
> optimization for --no-high-level-data should not be much work.
> For --high-level-data it is a bit tricker, since currently the MLDS
> doesn't contain the information we need.
> 
> -- 
> Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
> The University of Melbourne         |  of excellence is a lethal habit"
> WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
> --------------------------------------------------------------------------
> mercury-developers mailing list
> Post messages to:       mercury-developers at cs.mu.oz.au
> Administrative Queries: owner-mercury-developers at cs.mu.oz.au
> Subscriptions:          mercury-developers-request at cs.mu.oz.au
> --------------------------------------------------------------------------
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list