Lars Wassermann uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-lw.224.mcz
==================== Summary ====================
Name: VMMaker.oscog-lw.224 Author: lw Time: 30 November 2012, 10:13:46.707 am UUID: a51717bf-aca8-3447-b4cc-24b24b75d804 Ancestors: VMMaker.oscog-eem.223
my image couldn't compile TMethod>>removeFinalSelfReturn as it was delivered with commit 220. This small change fixed it for my system.
=============== Diff against VMMaker.oscog-eem.223 ===============
Item was changed: ----- Method: TMethod>>removeFinalSelfReturn (in category 'transformations') ----- removeFinalSelfReturn "The Smalltalk parser automatically adds the statement '^self' to the end of methods without explicit returns. This method removes such statements, since in most VMMaker classes (except struct classes) the generated code has no notion of 'self' anyway. If the statement is removed and no return type has yet been specified asnd the class specifies a default return type (e.g. #void) for methods that don't return, then set the return type accordingly."
| lastStmt | ((lastStmt := parseTree statements last) isReturn and: [lastStmt expression isVariable and: ['self' = lastStmt expression name]]) ifTrue: [| tokens | tokens := Scanner new scanTokens: (definingClass sourceCodeAt: selector ifAbsent: ['']). (tokens size < 2 + or: [(tokens last: 2) ~= #(#'^' 'self')]) ifTrue: - or: [(tokens last: 2) ~= #(#^ 'self')]) ifTrue: [parseTree setStatements: parseTree statements allButLast. returnType = #sqInt ifTrue: [([definingClass implicitReturnTypeFor: selector] on: MessageNotUnderstood do: [:ex| nil]) ifNotNil: [:defaultReturnType| returnType := defaultReturnType]]]]!
vm-dev@lists.squeakfoundation.org