[Vm-dev] 32 bit clean, and object size?

John M McIntosh johnmci at smalltalkconsulting.com
Mon Jun 11 05:25:56 UTC 2007

When I was altering the size of freeblock to return usqInt, it  
occurred to me. Gee how big can a smalltalk
object be? 1GB 2GB 3GB   0xC2ABCDEF98765432  bytes. Oh and is it  
signed or unsigned, does it matter?

Alas I'm too squeaked out to look. However someone might what to look  
and decide what those answers are...

Oh and actually is the value we stick in freeblock size actually able  
to represent the value say if you had 4GB of memory and say only 4MB  
in use?

I mention all this because when VisualWorks was transitioning from  
512MB to much larger, in many places they and their clients  
discovered that
512MB being a SmallInteger was used, say like for the free space  
calculation, unfortunately for the 5.x series of VMs, passing a  
LargeInteger (says 800MB) back to
the VM GC interface would cause the VM GC logic to crash.  So as we  
pass 32bit values about I wonder?

John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com

More information about the Vm-dev mailing list