Lars Wassermann uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-lw.205.mcz
==================== Summary ====================
Name: VMMaker.oscog-lw.205 Author: lw Time: 18 August 2012, 2:31:19.265 pm UUID: db76622e-2954-de47-b65e-026a6286a843 Ancestors: VMMaker.oscog-eem.204
depending on the configuration of the disassembler, ldmfd or push is returned.
=============== Diff against VMMaker.oscog-eem.204 ===============
Item was changed: ----- Method: CogARMCompilerTests>>testRetN (in category 'tests') ----- testRetN "self new testRetN" #(0) do: [:n| | inst len | inst := self gen: RetN operand: n. len := inst concretizeAt: 0. self processor disassembleInstructionAt: 0 In: inst machineCode object into: [:str :sz| | plainJane herIntended | "Convert e.g. '00000000: movl %eax, 0x2(%eax) : 89 40 02' to 'movl %eax, 0x2(%eax)'" plainJane := self strip: str. + self assert: (plainJane match: 'pop {pc}') | (plainJane match: 'ldmfd sp!!, {pc}'). - herIntended := 'pop {pc}'. - self assert: (plainJane match: herIntended). self assert: len = sz]]. #(1 2 4 8 16 31) do: [:n| | inst len | inst := self gen: RetN operand: n. len := inst concretizeAt: 0. self processor disassembleInstructionAt: 0 In: inst machineCode object into: [:str :sz| | plainJane herIntended | "Convert e.g. '00000000: movl %eax, 0x2(%eax) : 89 40 02' to 'movl %eax, 0x2(%eax)'" plainJane := self strip: str. herIntended := 'add sp, sp, #', n asString,', 30'. self assert: (plainJane match: herIntended). self assert: len = 8]]!
vm-dev@lists.squeakfoundation.org