[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:

==================== 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