[m-dev.] for review: bug fix for existentials and --trace all

Tyson Dowd trd at cs.mu.OZ.AU
Sat Oct 3 11:40:55 AEST 1998


On 02-Oct-1998, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> On 01-Oct-1998, David Glen JEFFERY <dgj at cs.mu.OZ.AU> wrote:
> > Add existential type-infos and typeclass-infos to the appropriate location
> > maps.
> ...
> > compiler/polymorphism.m:
> > 	Add code to put the type-info and typeclass-info locations into the
> > 	appropriate maps in several spots.
> 
> That change looks fine, but beware that it means that debugger (and
> garbage collector) cannot assume that the type-infos and typeclass-infos
> are always live.  I hope they are not assuming that.

I'm not sure what you mean by this.

The debugger and garbage collector use the concept of "type-info
liveness" to control the lifespan of type-info variables.  This is
done in liveness.m by extending the liveness of any type-info variable
so that it is live whenever any variable whose type contains that type
variable is live.

The --trace-all option in the test case can actually be turned into
--typeinfo-liveness.  Since this change allows compilation to proceed
with typeinfo liveness, it must be at least a little better than
before.

-- 
Those who would give up essential liberty to purchase a little temporary
safety deserve neither liberty nor safety.     - Benjamin Franklin

Tyson Dowd   <tyson at tyse.net>   http://tyse.net



More information about the developers mailing list