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 firstname.lastname@example.org Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===