Two-bit oop tags (was: [SqF]Report of VI4 Project for Feb '02)

David Simmons David.Simmons at smallscript.com
Sun Feb 3 10:44:49 UTC 2002


The AOS Platform (SmallScript, etc) uses two tag bits as follows:

    OOP
    SmallInteger
    Character [other types like RGBColor could be here]
    WeakId/VarRef/ContextPtr/ArgList

-- Dave S. [SmallScript LLC]

SmallScript for the AOS & .NET Platforms
David.Simmons at SmallScript.com | http://www.smallscript.org


> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org [mailto:squeak-dev-
> admin at lists.squeakfoundation.org] On Behalf Of Jecel Assumpcao Jr
> Sent: Sunday, February 03, 2002 12:03 AM
> To: squeak-dev at lists.squeakfoundation.org
> Subject: Two-bit oop tags (was: [SqF]Report of VI4 Project for Feb
'02)
> 
> Self uses two bits for its tags: oops, small integers, floats and
> headers.
> 
> 30 bit floating point numbers are probably not a good idea. They make
> people have to deal with rounding errors in nearly all applications
> while larger representations will let them get by in blissful
ignorance
> most of the time.
> 
> The header tags speed up memory scanning operations. Instead of
> 
>          for each object
>                 for each word in object
>                          is it what we are looking for?
> 
> you have
> 
>          for each word in memory
>                 is it what we are looking for?
>          back up to previous header
> 
> Personally, I would keep the current 1 bit scheme. But if you think
> faster scanning is worth it, then Tim's 1, 00 and 10 encoding would be
> nice. They could be small int, oop and header respectively.
> 
> -- Jecel





More information about the Squeak-dev mailing list