[Vm-dev] VM Maker: VMMaker.oscog-eem.334.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Aug 22 21:35:09 UTC 2013


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

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

Name: VMMaker.oscog-eem.334
Author: eem
Time: 22 August 2013, 2:32:39.626 pm
UUID: 7fbb9957-2619-46fe-acff-d1afd6e470fe
Ancestors: VMMaker.oscog-eem.333

Fix snafu in CogMethodZone>>removeFromUnpairedMethodList:
which can create an infinite loop in code compaction.

=============== Diff against VMMaker.oscog-eem.333 ===============

Item was changed:
  ----- Method: CogMethodZone>>removeFromUnpairedMethodList: (in category 'accessing') -----
  removeFromUnpairedMethodList: aCogMethod
  	<option: #NewspeakVM>
  	<var: #aCogMethod type: #'CogMethod *'>
  	| prevMethod |
  	<var: #prevMethod type: #'CogMethod *'>
  	self assert: aCogMethod cmType = CMMethod.
  	aCogMethod = unpairedMethodList ifTrue:
  		[unpairedMethodList := aCogMethod nextMethod.
  		 ^nil].
  	prevMethod := unpairedMethodList.
  	[prevMethod notNil] whileTrue:
  		[self assert: (prevMethod ~~ nil and: [prevMethod cmType = CMMethod]).
  		 prevMethod nextMethod = aCogMethod ifTrue:
  			[prevMethod nextMethod: aCogMethod nextMethod.
  			 ^nil].
+ 		  prevMethod := prevMethod nextMethod]!
- 		  prevMethod := aCogMethod nextMethod]!



More information about the Vm-dev mailing list