Eliot Miranda uploaded a new version of VMMakerUI to project VM Maker: http://source.squeak.org/VMMaker/VMMakerUI-eem.50.mcz
==================== Summary ====================
Name: VMMakerUI-eem.50 Author: eem Time: 14 November 2021, 2:09:25.336369 pm UUID: ee5842a1-ebce-489c-889e-6e2ce20bad17 Ancestors: VMMakerUI-eem.49
Changes to adapt to VMMaker.oscog-eem.3100
=============== Diff against VMMakerUI-eem.49 ===============
Item was changed: ----- Method: CogAbstractFrameInspector>>textForFramePointer:stackPointer: (in category 'accessing - ui') ----- textForFramePointer: framePointer stackPointer: stackPointer "Print and emphasize the frame text as efficiently as possible, deferring as much interpretation until evaluation time." | frameString frameText | (force or: [coInterpreter stackPages apparentlyValidFramePointer: framePointer stackPointer: stackPointer]) ifFalse: [^('Invalid Frame fp: ', (framePointer isInteger ifTrue: [framePointer hex allButFirst: 3] ifFalse: [framePointer printString]), ' sp: ', (framePointer isInteger ifTrue: [framePointer hex allButFirst: 3] ifFalse: [framePointer printString])) asText allBold]. frameText := (String streamContents: [:fs| coInterpreter printFrame: framePointer WithSP: stackPointer on: fs]) allButFirst asText. (frameString := frameText string) findTokens: {Character cr} indicesDo: [:start :stop| | firstColonIndex fieldNameIndex fieldNameEndIndex valueIndex | start = 1 ifTrue: [self windowTitle: (self windowTitleFrom: (frameString copyFrom: 1 to: stop)). frameText addAttribute: (PluggableTextAttribute evalBlock: [(CogFrameInspector on: coInterpreter) framePointer: framePointer; open]) from: 1 to: (frameString indexOf: Character space startingAt: 4) - 1] ifFalse: + ["Lines may start with an fp/sp indication..." + fieldNameIndex := (firstColonIndex := frameString indexOf: $: startingAt: (frameString indexOfSubCollection: '16r' startingAt: start) + 1) + 1. - [fieldNameIndex := (firstColonIndex := frameString indexOf: $: startingAt: start + 1) + 1. [(frameString at: fieldNameIndex) = Character space] whileTrue: [fieldNameIndex := fieldNameIndex + 1]. fieldNameEndIndex := (frameString indexOf: $: startingAt: fieldNameIndex + 1) - 1. valueIndex := fieldNameEndIndex + 2. [(frameString at: valueIndex) = Character space] whileTrue: [valueIndex := valueIndex + 1]. valueIndex < stop ifTrue: "greater for 'INVALID RECEIVER'" [(self evalAttributeForFieldName: (frameString copyFrom: fieldNameIndex to: fieldNameEndIndex) framePointer: framePointer value: (frameString copyFrom: valueIndex to: stop) addressString: (frameString copyFrom: start to: firstColonIndex - 1)) ifNotNil: [:attribute| frameText addAttribute: attribute from: fieldNameIndex to: fieldNameEndIndex]]]]. ^frameText!
Item was changed: ----- Method: Cogit>>headStackPointer (in category '*VMMakerUI-accessing') ----- headStackPointer <doNotGenerate> ^processorFrameValid + ifTrue: [self smalltalkStackPointerRegisterValue] - ifTrue: [NativeSPReg = SPReg - ifTrue: [processor sp] - ifFalse: [processor registerAt: SPReg]] ifFalse: [coInterpreter headStackPointer]!
vm-dev@lists.squeakfoundation.org