[ENH][FIX][VM] Root-bit problem solved
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.
More information about the Squeak-dev