Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.387.mcz==================== Summary ====================
Name: Cog-eem.387
Author: eem
Time: 28 December 2019, 1:09:40.720517 pm
UUID: 11720391-4c66-43a5-9020-f2a506be15dc
Ancestors: Cog-eem.386
Filter out both kinds of out-of-line literal sizing labels.
=============== Diff against Cog-eem.386 ===============
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.
(aSymbolManager labelForPC: address) ifNotNil:
[:label| aStream nextPutAll: label; nextPut: $:; cr].
(labelDictionary at: address ifAbsent: []) ifNotNil:
[:label|
+ (label ~~ #oneWordLiteral and: [label ~~ #twoWordLiteral]) ifTrue:
- label ~~ #twoWordLiteral ifTrue:
[self printLabel: label on: aStream at: address for: aSymbolManager.
label isArray ifTrue:
[string := nil.
size := label third]]].
string ifNotNil:
[aStream nextPutAll: (self decorateDisassembly: string for: aSymbolManager fromAddress: address labels: labelDictionary)].
aStream cr; flush.
address := address + size]
valueWithArguments: (self
primitiveDisassembleAt: address
inMemory: memory)].
(labelDictionary at: address ifAbsent: []) ifNotNil:
[:label| self printLabel: label on: aStream at: address for: aSymbolManager]!