[squeak-dev] 30 bit unboxed floats

Andres Valloud avalloud at smalltalk.comcastbiz.net
Tue Oct 19 05:06:29 UTC 2010


I looked into this and from my quick impression, all pointers in 
reachable object bodies will be written to twice by the algorithm. 
However, a stack approach would only write such pointers once (copying 
them from the object into the mark stack).  Doesn't that imply that the 
pointer reversal algorithm is more memory intensive than a stack approach?

On 10/18/10 14:55 , Eliot Miranda wrote:
>
>
> On Mon, Oct 18, 2010 at 2:50 PM, Andres Valloud
> <avalloud at smalltalk.comcastbiz.net
> <mailto:avalloud at smalltalk.comcastbiz.net>> wrote:
>
>     On 10/18/10 10:31 , Jecel Assumpcao Jr. wrote:
>
>         We have had several discussions about the tags in Squeak.
>         xxxxxx1 is a
>         SmallInteger and xxxxxx00 is an object pointer, but xxxxxx10 is not
>         generally used.
>
>
>     How does the mark and sweep GC handle mark stack overflows?  Is
>     there a bit in the object header for that?
>
>
> The Squeak GC uses a pointer-reversal algorithm for marking and so is
> immune to mark stack overflow.
>
> cheers,
> Eliot
>
>
>     Andres.
>
>



More information about the Squeak-dev mailing list