[m-dev.] for design review: accurate GC for MLDS back-end

Fergus Henderson fjh at cs.mu.OZ.AU
Fri Oct 26 16:25:37 AEST 2001


On 26-Oct-2001, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> > One difficulty with this design that I've spotted so far is that computing
> > type_infos may be difficult in an MLDS->MLDS transformation.
> 
> In the existing RTTI system, we associate only pseudo typeinfos with each
> variable, not a typeinfo. Materializing typeinfos that may not be needed
> during forward execution would be a speed hit, although I don't know how big.
> (Keeping local variables in a structure is already a speed hit.)

My idea was that these typeinfos would only need to be materialized
in the foo_traverse() function, not in foo() itself.  So this cost
would then only be paid at GC time, not during ordinary forward execution.

Note that the typeinfos also get materialized at GC time in the current
LLDS-based accurate GC design.  The only difference is that rather than
generating layout structures and pseudotypeinfos which the GC then
interprets at GC-time, I'm planning to partially evaluate that a bit
by having frame-specific routines to traverse each stack frame.

> This aspect
> of the system needs more thought; probably Tyson and I should discuss it
> with you in person.

Good idea.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  | "... it seems to me that 15 years of
The University of Melbourne         | email is plenty for one lifetime."
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- Prof. Donald E. Knuth
--------------------------------------------------------------------------
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