[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