[Vm-dev] VM Maker: Cog-eem.132.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Feb 6 03:43:03 UTC 2014


Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.132.mcz

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

Name: Cog-eem.132
Author: eem
Time: 5 February 2014, 7:42:40.367 pm
UUID: 77121e2f-26ba-4ec5-9fa0-25883794b032
Ancestors: Cog-eem.131

Fix package rewriting of Spur bootstrap method prototypes for the
binary selector hack.

=============== Diff against Cog-eem.131 ===============

Item was changed:
  ----- Method: SpurBootstrapMonticelloPackagePatcher>>packagesAndPatches (in category 'private-accessing') -----
  packagesAndPatches
  	"SpurBootstrapMonticelloPackagePatcher new packagesAndPatches"
  	| packagesAndPatches |
  	packagesAndPatches := Dictionary new.
  	SpurBootstrap new prototypeClassNameMetaSelectorMethodDo:
+ 		[:className :isMeta :selector :method| | class methodReference source |
- 		[:className :isMeta :selector :method| | class methodReference |
  		 class := Smalltalk classNamed: className.
  		 isMeta ifTrue:
  			[class := class class].
  		 methodReference := (class includesSelector: selector) ifTrue:
  								[(class >> selector) methodReference].
+ 		 source := method getSourceFromFile asString allButFirst: method selector size - selector size.
+ 		 source first ~= selector first ifTrue:
+ 			[source replaceFrom: 1 to: selector size with: selector startingAt: 1].
  		 (packagesAndPatches
  				at: (methodReference
  						ifNotNil: [PackageOrganizer default packageOfMethod: methodReference]
  						ifNil: [PackageOrganizer default  packageOfClass: class])
  				ifAbsentPut: [OrderedCollection new])
  			add: (MCAddition of: (MCMethodDefinition
  									className: className
  									classIsMeta: isMeta
  									selector: selector
  									category: (methodReference
  												ifNotNil: [methodReference category]
  												ifNil: [Categorizer default])
  									timeStamp: method timeStamp
+ 									source: source))].
- 									source: (method getSourceFromFile asString allButFirst: method selector size - selector size)))].
  	^packagesAndPatches!



More information about the Vm-dev mailing list