Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.332.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.332 Author: eem Time: 21 August 2013, 7:21:26.485 pm UUID: f7cb4758-7c5c-4617-89dc-9527ab2ee66b Ancestors: VMMaker.oscog-eem.331
Fix snapshotting in the Newspeak VM. Make removing from the unpaired method list cope with somethign not on the list.
=============== Diff against VMMaker.oscog-eem.331 ===============
Item was changed: ----- Method: CogMethodZone>>clearCogCompiledCode (in category 'jit - api') ----- clearCogCompiledCode "Free all methods" | cogMethod | <var: #cogMethod type: #'CogMethod *'> + self cppIf: NewspeakVM ifTrue: [unpairedMethodList := nil]. + cogMethod := coInterpreter cCoerceSimple: baseAddress to: #'CogMethod *'. + [cogMethod asUnsignedInteger < mzFreeStart] whileTrue: - cogMethod := coInterpreter cCoerceSimple: baseAddress to: #'CogMethod *'. - [cogMethod asUnsignedInteger < mzFreeStart] whileTrue: [cogMethod cmType = CMMethod ifTrue: [self freeMethod: cogMethod]. cogMethod := self methodAfter: cogMethod]. self manageFrom: baseAddress to: limitAddress!
Item was changed: ----- Method: CogMethodZone>>removeFromUnpairedMethodList: (in category 'accessing') ----- removeFromUnpairedMethodList: aCogMethod <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 := aCogMethod nextMethod]! - [self assert: (prevMethod ~~ nil - and: [prevMethod cmType = CMMethod]). - prevMethod nextMethod = aCogMethod ifTrue: - [prevMethod nextMethod: aCogMethod nextMethod. - ^nil]. - prevMethod := aCogMethod nextMethod. - true] whileTrue!
vm-dev@lists.squeakfoundation.org