The Trunk: System-ul.418.mcz

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

The Trunk: System-ul.418.mcz

commits-2
Levente Uzonyi uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-ul.418.mcz

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

Name: System-ul.418
Author: ul
Time: 7 February 2011, 8:51:38.4 pm
UUID: 60f051e7-f128-6742-97c5-eb010657b574
Ancestors: System-laza.417

Faster SmalltalkImage >> #cleanUpUndoCommands (~22x) resulting in ~5x faster SmalltalkImage >> #cleanUp.

=============== Diff against System-laza.417 ===============

Item was changed:
  ----- Method: SmalltalkImage>>cleanUpUndoCommands (in category 'shrinking') -----
  cleanUpUndoCommands
  "Smalltalk cleanUpUndoCommands"  "<== print this to get classes involved"
 
+ | classes keysToBeRemoved |
- | classes |
  classes := Bag new.
+ keysToBeRemoved := OrderedCollection new.
+ SystemNavigation default allObjectsDo: [ :object |
+ object isMorph ifTrue: [
+ object otherProperties ifNotNil: [ :properties |
+ properties keysAndValuesDo: [ :key :value |
+ value class == Command ifTrue: [
+ keysToBeRemoved add: key ] ].
+ keysToBeRemoved ifNotEmpty: [
+ classes add: object className withOccurrences: keysToBeRemoved size.
+ keysToBeRemoved do: [ :each |
+ object removeProperty: each ].
+ keysToBeRemoved reset ] ] ] ].
+ ^classes!
- 'Ferreting out obsolete undo commands'
- displayProgressAt: Sensor cursorPoint
- from: 0 to: Morph withAllSubclasses size
- during:
- [:bar | | i | i := 0.
- Morph withAllSubclassesDo:
- [:c | bar value: (i := i+1).
- c allInstancesDo:
- [:m | | p | (p := m otherProperties) ifNotNil:
- [p keys do:
- [:k | (p at: k) class == Command ifTrue:
- [classes add: c name.
- m removeProperty: k]]]]]].
- ^ classes!