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

commits at source.squeak.org commits at source.squeak.org
Wed Dec 2 07:15:27 UTC 2015


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

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

Name: Cog-eem.300
Author: eem
Time: 1 December 2015, 11:15:12.912 pm
UUID: 4ea0fa76-d948-4b34-9a26-c1ba7cc5bba1
Ancestors: Cog-rmacnak.299

Add some safety in case of disassembler failure.

=============== Diff against Cog-rmacnak.299 ===============

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



More information about the Vm-dev mailing list