[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