[Vm-dev] VM Maker: VMMaker.oscog-lw.205.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Aug 18 12:34:42 UTC 2012
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]]!
More information about the Vm-dev
mailing list