[ENH][FIX][VM] Root-bit problem solved

Andreas Raab andreas.raab at gmx.de
Wed Aug 6 22:53:21 UTC 2003


> Ok, but what about
> 
> totalObjectCount _ self adjustAllOopsBy: bytesToShift.

You're right, thanks for spotting.

> where bytesToShift is zero, and in adjustAllOopsBy you do
> bytesToShift = 0 ifTrue: [ ^ nil ]. thus setting totalObjectCount
> to zero which is needed to be non-zero in initializeMemoryFirstFree:?

Actually it _can_ be zero; the total object count is only used as a hint for
reserving fwdTable entries. But we should do a somewhat smarter guess about
the total object count anyway.

> You could use one of the header words on the save to remember  
> totalObjectCount ,
> On the read if that word is zero I think you'd need to change the if  
> logic to do the count even if bytesToShift is zero?

Or use the root bit again, that test needs to be in there in any case.

Cheers,
  - Andreas



More information about the Squeak-dev mailing list