[squeak-dev] Using #= for integer comparison instead of #==
juan at jvuletich.org
Tue Nov 16 12:37:57 UTC 2010
Levente Uzonyi wrote:
> I'm mostly ready with this cleanup, only a few methods left in the
> image that use #== for integer comparison. Some of them must use #==,
> others may be changed, but I wasn't sure if the code will work if it's
> changed or not. If you'd like to check these methods, then evaluate
> the following in a workspace:
> ... code here...
Thanks for the snippet! It is now a method in Cuis. I also checked a bit
on trunk. In all senders of #nextObject you can apply the pattern in
#allObjectsDo:. Instead of assuming == 0 for last #nextObject, it
assumes that Object new will go at the end. If that ever changed, a few
places would need fixing...
As an experiment, in #allObjectsDo: I tried to remove the Object new
stuff and replace with '[ 0 = object and: [ object isMemberOf:
SmallInteger ]] whileFalse: ', but my test became extremely slow. I
suspect #= is sending the message even if it has its own bytecode... So,
the only method that remains with the '0 ==' pattern in Cuis is
#critical:ifLocked: , as I'm not sure if we can clean it.
More information about the Squeak-dev