[m-dev.] Trailing

Tyson Richard DOWD trd at cs.mu.oz.au
Wed Aug 13 17:31:16 AEST 1997


Bart Demoen wrote:

> we probably need
> 
>         struct value_trail_entry {
>             Word *address;
>             Word value;
> 	    Type type;
>         };

Peter and I did work out a scheme where you can avoid this - it's
difficult to say whether it's a win, however, as you need to create a
bitmap, which marks which values the trail is interested in keeping around,
and the accurate GC needs to check each of these, and update the
addresses in the trail as well (the accurate GC engine knows the
type of the data it is copying at the time it does the check).

> 
> > In fact, you have no idea how to interpret the function argument.  It may be
> > a C pointer to some structure that has a bunch of pointers into the heap.
> 
> it is already a problem for the C-interface (combined with native gc)
> right now I think - is there a general plan on how to handle it
> (independent of fancy trailing) ?

There is a sketchy plan for this - for any C data structure that stores
data on the heap, it needs to provide a function that will copy it from
one heap to another (it's possible it would be easier to let it provide
a some data describing its structure, but this would probably constrain
the C data structures somewhat). How this works, exactly, is still
somewhat up in the air, and unfortunately its design is probably
influenced by things like fancy trailing.

-- 
       Tyson Dowd           #          Another great idea from the 
                            #            people who brought you
      trd at .cs.mu.oz.au      #               Beer Milkshakes!
http://www.cs.mu.oz.au/~trd #	         Confidence --- Red Dwarf



More information about the developers mailing list