Hi.
While checking some heavy number crunching, again in the method #spyOn:every: a variable was rendered into nil without the tally knowing about it. This time, the nilled variable came out to be ObservedProcess, and because it was nil, it didn't understand #suspendContext. Maybe the comment there about long primitives has something to do... the tally was as follows:
- 681 tallies.
**Tree** 100.0 ProbabilityInterval>>binaryUpscale 44.3 Fraction>>timesTwoPower: |44.3 LargePositiveInteger>>bitShift: | 44.3 LargePositiveInteger(Integer)>>bitShift: | 43.9 LargePositiveInteger(Integer)>>digitRshift:bytes:lookfirst: | 43.6 primitives 29.8 Fraction(Number)>>floor |29.8 Fraction>>truncated | 29.8 LargePositiveInteger>>quo: | 29.8 LargePositiveInteger(Integer)>>quo: | 29.8 LargePositiveInteger(Integer)>>digitDiv:neg: | 29.7 primitives 16.4 Fraction>>+ |15.7 LargePositiveInteger(Integer)>>gcd: | 7.8 LargePositiveInteger(Number)>>rem: | |5.1 LargePositiveInteger>>quo: | | |5.1 LargePositiveInteger(Integer)>>quo: | | | 5.1 LargePositiveInteger(Integer)>>digitDiv:neg: | | | 4.8 primitives | |2.6 LargePositiveInteger>>* | | 2.6 LargePositiveInteger(Integer)>>* | | 2.6 LargePositiveInteger(Integer)>>digitMultiply:neg: | 6.2 LargePositiveInteger>>* | 6.2 LargePositiveInteger(Integer)>>* | 6.0 LargePositiveInteger(Integer)>>digitMultiply:neg: 9.4 Fraction>>- 9.4 Fraction>>- 9.4 Fraction>>+ 8.5 LargeNegativeInteger(LargePositiveInteger)>>* 8.5 LargeNegativeInteger(Integer)>>* 8.5 LargeNegativeInteger(Integer)>>digitMultiply:neg:
**Leaves** 44.2 LargePositiveInteger(Integer)>>digitRshift:bytes:lookfirst: 35.7 LargePositiveInteger(Integer)>>digitDiv:neg: 17.3 LargePositiveInteger(Integer)>>digitMultiply:neg:
As you can see, LOTS of primitives.
Andres.
squeak-dev@lists.squeakfoundation.org