[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