[Pharo-project] latest build yields stack trace running #cleanUpForProduction
stephane.ducasse at inria.fr
Wed Jan 18 14:32:23 CET 2012
> > Well....it seems I found the problem. And in fact, it has alredy been solved by Levente in Squeak...I waste so many hours...and the fix was there..
> > So, can you try changing to
> > sizeFor: numberOfElements
> > "Return the minimum capacity of a dictionary that can hold numberOfElements elements. At least 25% of the array must be empty and the return value must be a power of 2."
> > ^(numberOfElements * 4 // 3) asLargerPowerOfTwo max: 1
> > And see if it works? it works here…
> It should not be necessary.
> The real bug is that Integer >> isPowerOfTwo does not check for the edge case:
> 0 isPowerOfTwo true
> A small fix:
> Integer >> #isPowerOfTwo
> "Return true if the receiver is an integral power of two."
> ^ self ~= 0 and: [(self bitAnd: self-1) = 0]
> Indeed :)
> now...even if that's correct, do you think there could be side effect in other places?
Excellent! We should also put a big comment in the comment!
More information about the Pharo-project