[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