[mercury-users] Re: [m-rev.] diff: more hlc.agc fixes

Fergus Henderson fjh at cs.mu.OZ.AU
Mon Feb 4 23:08:26 AEDT 2002

On 04-Feb-2002, Michael Day <mikeday at bigpond.net.au> wrote:
> On Mon, 4 Feb 2002, Fergus Henderson wrote:
> > Some more bug fixes for accurate GC with the MLDS->C back-end.
> Is there a quick user level blurb anywhere about the difference between
> the hlc.gc and hlc.agc grades, and which one you might want to use? (when
> agc is finished, of course...) I haven't used anything but asm_fast.gc
> myself, but I'm curious to know if I'm missing out on something :)

The differences between the asm_fast.gc grade (the default) and the hlc.gc
grade (--high-level-code) are

	- hlc.gc is often (but not always) more efficient
	- hlc.gc does not do tail call optimization for
	  indirect tail recursion (only self-tailcalls get optimized)
	- asm_fast.gc supports tracing, hlc.gc does not
	  (which means you can use the debugger after recompiling a
	  single module with tracing enabled, rather than recompiling
	  the whole program in a different grade)
	- hlc.gc is more portable

The hlc.agc grade (--high-level-code --gc accurate) is like hlc.gc except
that it uses our own home-grown accurate garbage collector rather than
the Boehm (et al) conservative collector.  It is very much a work in
progress at the moment.  Whether or not it will ever be useful for
anything remains an open question at this point.

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-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe

More information about the users mailing list