[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