[Vm-dev] VM Maker: Cog-eem.59.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jan 30 18:17:23 UTC 2013
Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.59.mcz
==================== Summary ====================
Name: Cog-eem.59
Author: eem
Time: 30 January 2013, 10:17:08.461 am
UUID: 177b66c7-07e1-44e1-add1-e83d909f3e8f
Ancestors: Cog-lw.58
Add support for labelling Newspeak implicit receiver caches.
=============== Diff against Cog-lw.58 ===============
Item was changed:
----- Method: CogProcessorAlien>>disassembleFrom:to:in:for:labels:on: (in category 'disassembly') -----
disassembleFrom: startAddress to: endAddress in: memory for: aSymbolManager "<Cogit>" labels: labelDictionary on: aStream
| address |
address := startAddress.
[address <= endAddress] whileTrue:
+ [[:sizeArg :stringArg| | size string |
+ size := sizeArg.
+ string := stringArg.
- [[:size :string|
(aSymbolManager labelForPC: address) ifNotNil:
[:label| aStream nextPutAll: label; nextPut: $:; cr].
(labelDictionary at: address ifAbsent: []) ifNotNil:
+ [:label|
+ label isArray
+ ifTrue: [aStream
+ nextPutAll: label first;
+ nextPut: $:; cr;
+ nextPutAll: (address printStringBase: 16 length: 8 padded: true) asLowercase;
+ nextPut: $:; space;
+ nextPutAll: (aSymbolManager perform: label second with: address) asString.
+ string := nil.
+ size := label third]
+ ifFalse: [aStream nextPutAll: label; nextPut: $:; cr]].
+ string ifNotNil:
+ [aStream nextPutAll: (self decorateDisassembly: string for: aSymbolManager fromAddress: address)].
+ aStream cr; flush.
- [:label| aStream nextPutAll: label; nextPut: $:; cr].
- aStream nextPutAll: (self decorateDisassembly: string for: aSymbolManager fromAddress: address); cr; flush.
address := address + size]
valueWithArguments: (self
primitiveDisassembleAt: address
inMemory: memory)]!
More information about the Vm-dev
mailing list