Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.590.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.590 Author: eem Time: 22 January 2014, 4:55:18.788 pm UUID: 8f6d2060-b948-464c-89d9-341f775e8662 Ancestors: VMMaker.oscog-eem.589
Fix CoInterpreter's validInstructionPointer
=============== Diff against VMMaker.oscog-eem.589 ===============
Item was changed: ----- Method: CoInterpreter>>validInstructionPointer:inMethod:framePointer: (in category 'debug support') ----- validInstructionPointer: instrPointer inMethod: aMethod framePointer: fp <var: #instrPointer type: #usqInt> <var: #aMethod type: #usqInt> <var: #fp type: #'char *'> | theInstrPointer cogMethod | <var: #theInstrPointer type: #usqInt> <var: #cogMethod type: #'CogMethod *'> instrPointer = cogit ceCannotResumePC ifTrue: [^self isMachineCodeFrame: fp]. instrPointer = cogit ceReturnToInterpreterPC ifTrue: [(self isMachineCodeFrame: fp) ifTrue: [^false]. theInstrPointer := self iframeSavedIP: fp] ifFalse: + [theInstrPointer := instrPointer + 1. - [theInstrPointer := instrPointer. self cppIf: NewspeakVM ifTrue: [(self isMachineCodeFrame: fp) ifTrue: [cogMethod := self mframeHomeMethod: fp. ^theInstrPointer >= (cogMethod asUnsignedInteger + (cogit sizeof: CogMethod)) and: [theInstrPointer < (cogMethod asUnsignedInteger + cogMethod blockSize)]]] ifFalse: [| header | header := self rawHeaderOf: aMethod. ((self isCogMethodReference: header) and: [theInstrPointer < objectMemory startOfMemory]) ifTrue: [cogMethod := self cCoerceSimple: header to: #'CogMethod *'. ^theInstrPointer >= (header + (cogit sizeof: CogMethod)) and: [theInstrPointer < (header + cogMethod blockSize)]]]]. ^super validInstructionPointer: theInstrPointer inMethod: aMethod framePointer: fp!
vm-dev@lists.squeakfoundation.org