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

commits at source.squeak.org commits at source.squeak.org
Thu May 7 18:06:48 UTC 2015


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

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

Name: Cog-eem.264
Author: eem
Time: 7 May 2015, 11:06:21.151 am
UUID: 54a6d130-d0ea-4d73-97d0-bf887f4c4210
Ancestors: Cog-eem.263

SpurBootstrap:
Fix the packages and packages calculation given
Scorch's definition of InstructionCLient>>#callPrimitive:.

=============== Diff against Cog-eem.263 ===============

Item was changed:
  ----- Method: SpurBootstrapMonticelloPackagePatcher>>packagesAndPatches (in category 'private-accessing') -----
  packagesAndPatches
  	"SpurBootstrapMonticelloPackagePatcher new packagesAndPatches"
  	| spurBootstrap |
  	packagesAndPatches ifNotNil:
  		[^packagesAndPatches].
  	packagesAndPatches := Dictionary new.
  	spurBootstrap := SpurBootstrap new.
  	imageTypes ifNotNil:
  		[spurBootstrap imageTypes: imageTypes].
  	spurBootstrap prototypeClassNameMetaSelectorMethodDo:
  		[:className :isMeta :selector :method| | package category source definition |
  		 (Smalltalk classNamed: className)
  			ifNil: [package := self packageForMissingClassNamed: className]
  			ifNotNil:
  				[:behavior| | class methodReference |
  				 class := isMeta ifTrue: [behavior class] ifFalse: [behavior].
  				 (class includesSelector: selector) ifTrue:
  					[methodReference := (class >> selector) methodReference.
  					 category := methodReference category].
  				 package := (methodReference isNil
+ 							  or: [methodReference category = Categorizer default
+ 							  or: [methodReference category first = $*]]) "This for Scorch's override of InstructionClient>>classPrimitive:"
- 							  or: [methodReference category = Categorizer default])
  								ifTrue: [PackageOrganizer default packageOfClass: class]
  								ifFalse: [PackageOrganizer default packageOfMethod: 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].
  		 definition := MCAddition of: (MCMethodDefinition new
  										initializeWithClassName: className
  										classIsMeta: isMeta
  										selector: selector
  										category: (category ifNil: [SpurBootstrap
  																	categoryForClass: className
  																	meta: isMeta
  																	selector: selector])
  										timeStamp: method timeStamp
  										source: source).
  		 (method pragmaAt: #remove) ifNotNil:
  			[definition := definition inverse].
  		 (packagesAndPatches at: package ifAbsentPut: [OrderedCollection new])
  			add: definition].
  	^packagesAndPatches!

Item was changed:
  ----- Method: SpurBootstrapMonticelloPackagePatcher>>patchAndUploadAllInTrunk (in category 'patching') -----
  patchAndUploadAllInTrunk
  	"Look for all versions in the default repository that have patched versions there-in.
  	 Download and patch them and upload the patched versions (overwriting the older ones)."
  	"(SpurBootstrapMonticelloPackagePatcher new
+ 		from: 'trunkpackages'
+ 		to: 'spurpackages')
- 		from: 'spurpackages'
- 		to: 'trunkpackages')
  			patchAndUploadAllInTrunk"
  	| seed trunk sourceRepo cacheRepo |
  	seed := 'Are you really sure you want to do this?\It should happen only once!!' withCRs.
  	3 timesRepeat:
  		[(UIManager confirm: seed) ifFalse: [^self].
  		 seed := seed copyReplaceAll: 'really ' with: 'really, really '].
  	sourceDir assureExistence; deleteLocalFiles.
  	destDir assureExistence; deleteLocalFiles.
  	sourceRepo := MCDirectoryRepository directory: sourceDir.
  	cacheRepo := MCCacheRepository default.
  	(trunk := self trunk) cacheAllFileNamesDuring:
  		[| latestBranches latestUnbranched |
  		latestBranches := self packages collect:
  							[:package|
  							(trunk versionNamesForPackageNamed: package name, '.spur') detectMin: [:vn | vn asMCVersionName versionNumber]].
+ 		latestUnbranched := latestBranches collect:
+ 								[:verName|
+ 								(trunk versionNamed: (verName copyReplaceAll: '.spur' with: '') asMCVersionName) info ancestors first versionName].
- 		latestUnbranched := latestBranches collect: [:verName| (trunk versionNamed: (verName copyReplaceAll: '.spur' with: '') asMCVersionName) info ancestors first versionName].
  		((trunk possiblyNewerVersionsOfAnyOf: latestUnbranched)
  			reject: [:unpatched| unpatched includesSubString: '.spur'])
  			do: [:unpatched|
  				"it is claimed that whether a repository contains a .mcz or a .mcd is irrelevant.  At least for the cache repositoriy that's not true."
  				sourceRepo storeVersion: (self cachedNonDiffyVersionNamed: unpatched from: trunk)].
  		 self patchAsNeeded.
  		 self uploadFrom: (MCDirectoryRepository directory: destDir) to: trunk]!

Item was changed:
  ----- Method: SpurBootstrapMonticelloPackagePatcher>>uploadFrom:to: (in category 'repository population') -----
  uploadFrom: localRepo to: uploadRepository
+ 	self break.
  	localRepo allVersionsDo:
  		[:version|
  		(uploadRepository includesVersionNamed: version info name) ifFalse:
  			[uploadRepository storeVersion: version]]!



More information about the Vm-dev mailing list