Eliot Miranda uploaded a new version of VMMakerUI to project VM Maker:
http://source.squeak.org/VMMaker/VMMakerUI-eem.8.mcz==================== Summary ====================
Name: VMMakerUI-eem.8
Author: eem
Time: 26 December 2019, 10:25:04.901186 pm
UUID: 37ef7cd4-9ffc-4f72-96da-8de18eee8832
Ancestors: VMMakerUI-eem.7
Add the method address to the current instruction display where available in the CogProcessorAlienInspector.
=============== Diff against VMMakerUI-eem.7 ===============
Item was changed:
----- Method: CogProcessorAlienInspector>>text (in category 'accessing - ui') -----
text
-
^Text streamContents:
[:s | | max exclude fpstate |
(cogit notNil
and: [cogit addressIsInCodeZone: processor pc])
ifTrue:
+ [s tab;
+ nextPutAll: (processor decorateDisassembly: (processor disassembleInstructionAt: processor pc In: memory)
- [s tab; nextPutAll: (processor decorateDisassembly: (processor disassembleInstructionAt: processor pc In: memory)
for: cogit
+ fromAddress: processor pc).
+ (cogit lookupAddress: processor pc) ifNotNil:
+ [:where| s tab: 2; nextPutAll: where].
+ s cr]
- fromAddress: processor pc); cr]
ifFalse: [s cr].
max := (registerSelectors ifEmpty: [1] ifNotEmpty: [:selector | (selector collect: #size) max]).
exclude := Set new.
1 to: (fpstate := processor floatingPointRegisterStateGetters) size by: 4 do:
[:index|
((index to: index + 3) allSatisfy: [:fpri| (processor perform: (fpstate at: fpri)) isZero]) ifTrue:
[exclude addAll: (fpstate copyFrom: index to: index + 3)]].
registerSelectors do:
[:selector | | attribute |
(exclude includes: selector) ifFalse:
[s
nextPutAll: ((selector asUppercase padded: #right to: max with: Character space)
asText addAttribute: (attribute := PluggableTextAttribute evalBlock: [self interpret: selector]));
space;
nextPutAll: (self registerTextAt: selector).
(registerMap at: selector ifAbsent: []) ifNotNil:
[:abstractReg|
s space; nextPutAll: (abstractReg asText addAttribute: attribute)].
s cr]]]!