[Pkg] SystemEditor: SystemEditor-mtf.143.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Sun Oct 26 05:01:54 UTC 2008
A new version of SystemEditor was added to project SystemEditor:
http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.143.mcz
==================== Summary ====================
Name: SystemEditor-mtf.143
Author: mtf
Time: 25 October 2008, 10:02:56 pm
UUID: c6fe8815-84e4-4c81-a55c-6f5a70aa8253
Ancestors: SystemEditor-mtf.142
an experimental InstanceMigrator refactor that should be able to find all instances of any number of classes in constant, rather than linear, time, hopefully resulting in a nice speedup in the average case. It is not yet used, so this change is harmless
=============== Diff against SystemEditor-mtf.142 ===============
Item was added:
+ ----- Method: MigrationTransaction>>collectInstancesOldInto:newInto: (in category 'instance refactor') -----
+ collectInstancesOldInto: oStream newInto: dStream
+ "collect instances of all migrating objects using one memory scan rather than n. SystemNavigation>>allObjectsDo: is inlined here for portability to a KernelImage"
+ | object |
+ instanceMigrators ifNil: [^ self].
+ object := self someObject.
+ [0 == object]
+ whileFalse: [
+ instanceMigrators at: object class ifPresent: [:migrator |
+ oStream nextPut: object.
+ dStream nextPut: (migrator migrate: object)].
+ object := object nextObject]!
Item was added:
+ ----- Method: MigrationTransaction>>migrateInstancesOf:to: (in category 'instance refactor') -----
+ migrateInstancesOf: oldClass to: newClass
+ instanceMigrators ifNil: [instanceMigrators := IdentityDictionary new].
+ instanceMigrators at: oldClass
+ put: (InstanceMigrator from: oldClass to: newClass)!
Item was changed:
Object subclass: #MigrationTransaction
+ instanceVariableNames: 'migrators instanceMigrators'
- instanceVariableNames: 'migrators'
classVariableNames: ''
poolDictionaries: ''
category: 'SystemEditor-Editors'!
More information about the Packages
mailing list