[MLton] share bug
Stephen Weeks
MLton@mlton.org
Tue, 18 Apr 2006 20:50:30 -0700
> Ah, got it. The point is to always set marks on any thing returned
> because the thing it is being aliased to might have a marked card,
> correct?
The point is to mark a card if we create an intergenerational pointer,
that is, a pointer from the old generation to the nursery. Hence the
test
isInOldGen (s, (pointer)pp) and isInNursery (s, *pp))
> If that is what it is doing, then how much GC activity has to happen
> before the mark gets cleared (assuming I am understanding any of
> this?)?
The next minor GC moves all of the nursery into the old generation,
and clears all marks.