[Vm-dev] VM Maker: Cog-eem.304.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Dec 5 00:17:35 UTC 2015


Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.304.mcz

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

Name: Cog-eem.304
Author: eem
Time: 4 December 2015, 4:17:23.47 pm
UUID: 5a22b146-4021-4d31-a7ab-6fe0033babc3
Ancestors: Cog-eem.303

Restore disassembleNextInstructionIn:for: to sanity.

=============== Diff against Cog-eem.303 ===============

Item was changed:
  ----- Method: CogProcessorAlien>>disassembleNextInstructionIn:for: (in category 'disassembly') -----
  disassembleNextInstructionIn: memory for: aSymbolManager "<Cogit|nil>"
+ 	| arrayOfLengthAndString |
- 	| string |
  	self pc >= memory size ifTrue:
+ 		[| string |
+ 		 string := aSymbolManager ifNotNil:
- 		[string := aSymbolManager ifNotNil:
  									[aSymbolManager lookupAddress: self pc].
+ 		 ^self pc hex, ' : ', (string ifNil: ['Invalid address'])].
+ 	arrayOfLengthAndString := self primitiveDisassembleAt: self pc inMemory: memory.
+ 	(arrayOfLengthAndString isArray
+ 	and: [arrayOfLengthAndString first isInteger
+ 	and: [arrayOfLengthAndString last isString]]) ifFalse:
+ 		[^'ERROR: ', (arrayOfLengthAndString printString contractTo: 40)].
- 						 ^self pc hex, ' : ', (string ifNil: ['Invalid address'])].
- 	string := self primitiveDisassembleAt: self pc inMemory: memory.
- 	string isString ifFalse:
- 		[^'ERROR: ', (string printString contractTo: 40)].
  	^aSymbolManager
+ 		ifNil: [arrayOfLengthAndString last]
+ 		ifNotNil: [self decorateDisassembly: arrayOfLengthAndString last for: aSymbolManager fromAddress: self pc]!
- 		ifNil: [string]
- 		ifNotNil: [self decorateDisassembly: string for: aSymbolManager fromAddress: self pc]!



More information about the Vm-dev mailing list