[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
|