Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3318.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3318 Author: eem Time: 7 April 2023, 3:18:12.794259 pm UUID: 1b271707-46ab-452a-ba13-fe542c58e418 Ancestors: VMMaker.oscog-eem.3317
Include the receiver when short printing a context, for more information in the context parts of stack dumps (printCallStack et al).
=============== Diff against VMMaker.oscog-eem.3317 ===============
Item was changed: ----- Method: CoInterpreterStackPages>>couldBeFramePointer: (in category 'assertions') ----- couldBeFramePointer: pointer "Answer if the argument is a properly aligned pointer into the stack zone." <var: #pointer type: #'void *'> + ^stackBasePlus1 notNil + and: [(pointer asUnsignedInteger bitAnd: objectMemory wordSize - 1) = 0 - ^(pointer asUnsignedInteger bitAnd: objectMemory wordSize - 1) = 0 and: [pointer asUnsignedInteger between: (stackBasePlus1 - 1) asUnsignedInteger and: (self cCode: [pages asUnsignedInteger] + inSmalltalk: [(self stackPageAt: 0) asUnsignedInteger])]]! - inSmalltalk: [(self stackPageAt: 0) asUnsignedInteger])]!
Item was changed: ----- Method: StackInterpreter>>shortPrintContext: (in category 'debug printing') ----- shortPrintContext: aContext | theFP | <inline: false> <var: #theFP type: #'char *'> (objectMemory isContext: aContext) ifFalse: [self printHex: aContext; print: ' is not a context'; cr. ^nil]. self printHex: aContext. (self isMarriedOrWidowedContext: aContext) ifTrue: [(self checkIsStillMarriedContext: aContext currentFP: framePointer) ifTrue: [theFP := self frameOfMarriedContext: aContext. (self isMachineCodeFrame: theFP) ifTrue: [self print: ' M ('] ifFalse: [self print: ' I (']. self printHex: theFP asUnsignedIntegerPtr; print: ') '] ifFalse: [self print: ' w ']] ifFalse: [self print: ' s ']. (self findHomeForContext: aContext) + ifNil: [self print: ' BOGUS CONTEXT (can''t determine home)'; cr] - ifNil: [self print: ' BOGUS CONTEXT (can''t determine home)'] ifNotNil: + [:home| | rcvr | + rcvr := objectMemory fetchPointer: ReceiverIndex ofObject: home. + self printActivationNameFor: (objectMemory fetchPointer: MethodIndex ofObject: aContext) + receiver: rcvr - [:home| - self printActivationNameFor: (objectMemory - fetchPointer: MethodIndex - ofObject: (home ifNil: [aContext])) - receiver: (home - ifNil: [objectMemory nilObject] - ifNotNil: [objectMemory fetchPointer: ReceiverIndex ofObject: home]) isBlock: home ~= aContext + firstTemporary: (objectMemory fetchPointer: 0 + CtxtTempFrameStart ofObject: home). + self space. + self shortPrintOop: rcvr "shortPrintOop: adds a cr"]! - firstTemporary: (objectMemory fetchPointer: 0 + CtxtTempFrameStart ofObject: home)]. - self cr!
vm-dev@lists.squeakfoundation.org