The Trunk: Kernel-ul.312.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Kernel-ul.312.mcz

commits-2
Andreas Raab uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ul.312.mcz

==================== Summary ====================

Name: Kernel-ul.312
Author: ul
Time: 1 December 2009, 4:19:45 am
UUID: 5b9007f4-b0f3-1e42-bf32-5a0efbeaae0f
Ancestors: Kernel-nice.307

Added #scaledIdentityHash.
Part 1 of updating Object >> hash.

=============== Diff against Kernel-nice.307 ===============

Item was added:
+ ----- Method: SmallInteger>>scaledIdentityHash (in category 'comparing') -----
+ scaledIdentityHash
+ "For identityHash values returned by primitive 75, answer
+ such values times 2^18.  Otherwise, match the existing
+ identityHash implementation"
+
+ ^self!

Item was added:
+ ----- Method: ProtoObject>>scaledIdentityHash (in category 'comparing') -----
+ scaledIdentityHash
+ "For identityHash values returned by primitive 75, answer
+ such values times 2^18.  Otherwise, match the existing
+ identityHash implementation"
+
+ ^self identityHash * 262144 "bitShift: 18"!

Item was changed:
  ----- Method: Object>>hash (in category 'comparing') -----
  hash
  "Answer a SmallInteger whose value is related to the receiver's identity.
  May be overridden, and should be overridden in any classes that define = "
 
+ CollectionRehashingUtility quickRehashBecause: #objectHashChanged.
+ ^self scaledIdentityHash!
- ^ self identityHash!