The Trunk: Kernel-ul.297.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.297.mcz

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

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

Name: Kernel-ul.297
Author: ul
Time: 13 November 2009, 2:39:10 am
UUID: a9d016dd-2b26-414d-aad4-08a732599dee
Ancestors: Kernel-ar.294

In MethodDictionary
- implemented #fixCollisionsFrom:
- removed #keyAt: (nobody sends it)
- removed super send from #swap:with:

=============== Diff against Kernel-ar.294 ===============

Item was added:
+ ----- Method: MethodDictionary>>fixCollisionsFrom: (in category 'private') -----
+ fixCollisionsFrom: start
+ "The element at start has been removed and replaced by nil.
+ This method moves forward from there, relocating any entries
+ that had been placed below due to collisions with this one."
+
+ | key index |
+ index := start.
+ [ (key := self basicAt: (index := index \\ array size + 1)) == nil ] whileFalse: [
+ | newIndex |
+ (newIndex := self scanFor: key) = index ifFalse: [
+ self swap: index with: newIndex ] ]!

Item was changed:
  ----- Method: MethodDictionary>>swap:with: (in category 'private') -----
  swap: oneIndex with: otherIndex
 
  | element |
  element := self basicAt: oneIndex.
  self basicAt: oneIndex put: (self basicAt: otherIndex).
  self basicAt: otherIndex put: element.
+ array swap: oneIndex with: otherIndex
- super swap: oneIndex with: otherIndex
  !

Item was removed:
- ----- Method: MethodDictionary>>keyAt: (in category 'private') -----
- keyAt: index
-
- ^self basicAt: index!