[Vm-dev] VM Maker: Cog-lw.50.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jul 17 20:16:39 UTC 2012


Lars Wassermann uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-lw.50.mcz

==================== Summary ====================

Name: Cog-lw.50
Author: lw
Time: 17 July 2012, 10:15:56.611 pm
UUID: 00c1fd03-0c9a-fe46-8b5f-1d879ca17cd4
Ancestors: Cog-eem.49

- Removed the testMOVSD which was is not adaptable for ARM since there is no MOVSD-opcode.
- Added some methods which are used by the simulator, namely setStackAlignmentDelta:, setFramePointer:stackPointer:, and endianness.
- Switched Transcript logging of the Nfib1 test off.

=============== Diff against Cog-eem.49 ===============

Item was added:
+ ----- Method: CogProcessorAlien>>endianness (in category 'accessing-abstract') -----
+ endianness
+ 	self subclassResponsibility!

Item was added:
+ ----- Method: GdbARMAlien class>>initialize (in category 'class initialization') -----
+ initialize
+ 	"GdbARMAlien initialize"
+ 	super initialize.
+ 	PostBuildStackDelta := 0.!

Item was added:
+ ----- Method: GdbARMAlien class>>setStackAlignmentDelta: (in category 'accessing') -----
+ setStackAlignmentDelta: 	stackAlignmentDelta
+ 	"copy of BochsIA32Alien>>#setStackAlignmentDelta:, because I don't know yet what it's effect is."
+ 	self assert: stackAlignmentDelta isPowerOfTwo.
+ 	PostBuildStackDelta :=  stackAlignmentDelta > 8
+ 								ifTrue: [stackAlignmentDelta - 8]
+ 								ifFalse: [0]!

Item was added:
+ ----- Method: GdbARMAlien>>endianness (in category 'accessing-abstract') -----
+ endianness
+ 	^#little!

Item was added:
+ ----- Method: GdbARMAlien>>fp (in category 'accessing-abstract') -----
+ fp
+ 	"According to the use in SVr4"
+ 	^self r11!

Item was added:
+ ----- Method: GdbARMAlien>>fp: (in category 'accessing-abstract') -----
+ fp: aNumber
+ 	"According to SVr4, the frame pointer is stored in r11"
+ 	^self r11: aNumber!

Item was added:
+ ----- Method: GdbARMAlien>>setFramePointer:stackPointer: (in category 'accessing-abstract') -----
+ setFramePointer: framePointer stackPointer: stackPointer
+ 	"Initialize the processor's frame and stack pointers"
+ 	self fp: framePointer.
+ 	self sp: stackPointer!

Item was removed:
- ----- Method: GdbARMAlienTests>>testMOVSD (in category 'tests') -----
- testMOVSD
- 	"Test MOVSD indirecting through edx."
- 	"self new testMOVSD"
- 	self processor
- 		edx: 0;
- 		eip: 0;
- 		singleStepIn: {16rF2. 16r0F. 16r10. 16r42. 16r04. 16r90. 16r01. 16r02. 16r03. 16r04. 16r05. 16r06} asByteArray "movsd %ds:0x4(%edx), %xmm0;nop;garbage".
- 	self assert: self processor eip = 5.
- 	self assert: self processor xmm0low = 16r0605040302019004!

Item was changed:
  ----- Method: GdbARMAlienTests>>testNfib1 (in category 'tests') -----
  testNfib1
  	"self new testNfib1"
+ 	self should: [self runNFib: 1 disassemble: false printRegisters: false]
- 	self should: [self runNFib: 1 disassemble: false printRegisters: true]
  		raise: Error
  		withExceptionDo: 
  			[:err| self assert: err messageText = 'Error 0: Illegal Instruction fetch address (0x00001000).'].
  	self deny: (self processor pc between: 0 and: self nfib size).
  	self assert: self processor r0 = 1 benchFib!



More information about the Vm-dev mailing list