[Vm-dev] VM Maker: Cog-eem.182.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Aug 9 02:25:49 UTC 2014
Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.182.mcz
==================== Summary ====================
Name: Cog-eem.182
Author: eem
Time: 8 August 2014, 7:25:32.999 pm
UUID: 8e259714-4153-4986-b326-6da2a6154de7
Ancestors: Cog-eem.181
Do a half-assed job of filing out the prototypes (i.e. doesn't
yet do #=).
=============== Diff against Cog-eem.181 ===============
Item was added:
+ ----- Method: SpurBootstrap>>fileOutPrototypesFor: (in category 'public access') -----
+ fileOutPrototypesFor: imageTypeOrArrayOfTypes
+ "SpurBootstrap new fileOutPrototypesFor: 'squeak'"
+ | internalStream |
+ imageTypes := imageTypeOrArrayOfTypes isString
+ ifTrue: [{imageTypeOrArrayOfTypes}]
+ ifFalse: [imageTypeOrArrayOfTypes asArray].
+ internalStream := WriteStream on: (String new: 1000).
+ internalStream header; timeStamp.
+ self prototypeClassNameMetaSelectorMethodDo:
+ [:className :isMeta :selector :method| | class category preamble source |
+ class := Smalltalk classNamed: className.
+ isMeta ifTrue: [class := class class].
+ category := (class organization categoryOfElement: selector) ifNil:
+ [self class categoryForClass: className meta: isMeta selector: selector].
+ preamble := class name, ' methodsFor: ' , category asString printString, ' stamp: ''', method timeStamp, ''''.
+ internalStream nextPut: $!!; nextChunkPut: preamble; cr.
+ source := method getSourceFromFile asString.
+ source := source copyFrom: (source indexOfSubCollection: 'PROTOTYPE') + 9 to: source size.
+ internalStream nextChunkPut: source; space; nextPut: $!!; cr; cr].
+ internalStream trailer.
+
+ FileStream
+ writeSourceCodeFrom: internalStream
+ baseName: 'SpurBootstrapPrototypes'
+ isSt: true
+ useHtml: false!
More information about the Vm-dev
mailing list