[Vm-dev] VM Maker: VMMakerUI-eem.50.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Nov 14 22:09:26 UTC 2021


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



More information about the Vm-dev mailing list