[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