VM Maker: VMMakerUI-eem.8.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMakerUI-eem.8.mcz

commits-2
 
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]]]!