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

Fergus Henderson fjh at cs.mu.OZ.AU
Fri Aug 17 06:14:23 AEST 2001


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



More information about the developers mailing list