[Vm-dev] VM Maker: CogTools-eem.90.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Aug 22 01:12:02 UTC 2021


Eliot Miranda uploaded a new version of CogTools to project VM Maker:
http://source.squeak.org/VMMaker/CogTools-eem.90.mcz

==================== Summary ====================

Name: CogTools-eem.90
Author: eem
Time: 21 August 2021, 6:12:00.785794 pm
UUID: 7df613ba-6053-42ff-932c-55ace1f665d8
Ancestors: CogTools-eem.89

Get the VMMaker to a semi-functional state in current Squeak.

=============== Diff against CogTools-eem.89 ===============

Item was changed:
  ----- Method: AxesMorph>>drawOn: (in category 'drawing') -----
  drawOn: aCanvas 
  	super drawOn: aCanvas.
+ 	[aCanvas
- 	aCanvas
  		image: self form
  		at: self topLeft + self borderWidth
+ 		rule: Form blend]
+ 			on: Deprecation
+ 			do: [:ex| ex resume]!
- 		rule: Form blend!

Item was changed:
  ----- Method: SqueakVMProfiler>>buttonMorph:help:set:enable:color: (in category 'opening') -----
  buttonMorph: getLabelMessage help: help set: setter enable: enabler color: colorGetter
  	| pbm |
  	pbm := PluggableButtonMorphPlus on: self getState: nil action: setter label: getLabelMessage.
+ 	[pbm useRoundedCorners] on: MessageNotUnderstood do: [].
  	pbm
- 		useRoundedCorners;
  		getEnabledSelector: enabler;
  		setBalloonText: help;
  		getColorSelector: colorGetter;
  		offColor: Color transparent.
  	^pbm!

Item was added:
+ ----- Method: VMPExecutableModuleSymbol>>asString (in category 'printing') -----
+ asString
+ 	^(name copyFrom: (name lastIndexOf: FileDirectory pathNameDelimiter) + 1 to: name size) asText allBold!

Item was added:
+ ----- Method: VMPSymbol>>asString (in category 'printing') -----
+ asString
+ 	"Answer the name as a string, which for the purposes of the symbol list is an unemphasized text."
+ 	^name!

Item was changed:
  ----- Method: VMProfiler class>>reportGCStats:upTime:on: (in category 'reports') -----
  reportGCStats: gcStatsArray upTime: elapsedMilliseconds on: str
  	| oldSpaceEnd youngSpaceEnd memoryEnd fullGCs fullGCTime incrGCs incrGCTime tenureCount rootOverflows |
  	gcStatsArray ifNil: [^self].
  
  	oldSpaceEnd	:= gcStatsArray at: 2. "a.k.a. oldSpace size on Spur"
  	fullGCs			:= gcStatsArray at: 7.
  	fullGCTime		:= gcStatsArray at: 8.
  	incrGCs			:= gcStatsArray at: 9.
  	incrGCTime		:= gcStatsArray at: 10.
  	tenureCount	:= gcStatsArray at: 11.
  	rootOverflows	:= gcStatsArray at: 22.
  
  	str	cr.
  	str	nextPutAll: '**Memory**'; cr.
  	str	nextPutAll:	'	old			';
+ 		nextPutAll: (oldSpaceEnd asStringWithCommasSigned: true); nextPutAll: ' bytes'; cr.
- 		nextPutAll: oldSpaceEnd asStringWithCommasSigned; nextPutAll: ' bytes'; cr.
  	self amOnSpur
  		ifTrue:
  			[(gcStatsArray at: 54) ifNotNil:
  				[:freeSpace|
  				 str	nextPutAll: '	free		';
+ 					nextPutAll: (freeSpace asStringWithCommasSigned: true); nextPutAll: ' bytes'; cr]]
- 					nextPutAll: freeSpace asStringWithCommasSigned; nextPutAll: ' bytes'; cr]]
  		ifFalse:
  			[youngSpaceEnd	:= gcStatsArray at: 1.
  			 memoryEnd		:= gcStatsArray at: 3.
  			 str	nextPutAll: '	young		';
+ 				nextPutAll: (youngSpaceEnd - oldSpaceEnd asStringWithCommasSigned: true); nextPutAll: ' bytes'; cr.
- 				nextPutAll: (youngSpaceEnd - oldSpaceEnd) asStringWithCommasSigned; nextPutAll: ' bytes'; cr.
  			 str	nextPutAll: '	used		';
+ 				nextPutAll: (youngSpaceEnd asStringWithCommasSigned: true); nextPutAll: ' bytes'; cr.
- 				nextPutAll: youngSpaceEnd asStringWithCommasSigned; nextPutAll: ' bytes'; cr.
  			 str	nextPutAll: '	free		';
+ 				nextPutAll: (memoryEnd - youngSpaceEnd asStringWithCommasSigned: true); nextPutAll: ' bytes'; cr].
- 				nextPutAll: (memoryEnd - youngSpaceEnd) asStringWithCommasSigned; nextPutAll: ' bytes'; cr].
  
  	str	cr.
  	str	nextPutAll: '**GCs**'; cr.
  	str	nextPutAll: '	full			';
  		print: fullGCs; nextPutAll: ' totalling '; nextPutAll: fullGCTime asStringWithCommas; nextPutAll: 'ms (';
  		nextPutAll: (CompatibilityClass print:(fullGCTime / elapsedMilliseconds * 100) showingDecimalPlaces: 3 );
  		nextPutAll: '% elapsed time)'.
  	fullGCs = 0 ifFalse:
  		[str	nextPutAll: ', avg '; nextPutAll: (CompatibilityClass print:(fullGCTime / fullGCs) showingDecimalPlaces: 3); nextPutAll: 'ms'].
  	str	cr.
  	str	nextPutAll: (self amOnSpur ifTrue: ['	scavenges	'] ifFalse: ['	incr			']);
  		print: incrGCs; nextPutAll: ' totalling '; nextPutAll: incrGCTime asStringWithCommas; nextPutAll: 'ms (';
  		nextPutAll: (CompatibilityClass print:incrGCTime / elapsedMilliseconds * 100 showingDecimalPlaces: 3);
  		nextPutAll: '% elapsed time)'.
  	incrGCs = 0 ifFalse:
  		[str nextPutAll:', avg '; nextPutAll: (CompatibilityClass print:incrGCTime / incrGCs showingDecimalPlaces:3); nextPutAll: 'ms'].
  	str cr.
  	str	nextPutAll: '	tenures		';
  		nextPutAll: tenureCount asStringWithCommas.
  	tenureCount = 0 ifFalse:
  		[str nextPutAll: ' (avg '; print: (incrGCs / tenureCount) asInteger; nextPutAll: ' GCs/tenure)'].
  	str	cr.
  	str	nextPutAll: '	root table	';
  		nextPutAll: rootOverflows asStringWithCommas; nextPutAll:' overflows'.
  	str cr.
  
  	(gcStatsArray size >= 63 and: [(gcStatsArray at: 63) isInteger]) ifTrue:
  		[| numCompactions compactionMsecs |
  		str cr; nextPutAll: '**Compiled Code Compactions**'; cr.
  		numCompactions := gcStatsArray at: 62.
  		compactionMsecs := gcStatsArray at: 63.
  		str	tab;
  			print: numCompactions; nextPutAll: ' totalling ';
  			nextPutAll: compactionMsecs asStringWithCommas; nextPutAll: 'ms (';
  			nextPutAll: (CompatibilityClass print:compactionMsecs / elapsedMilliseconds * 100 showingDecimalPlaces: 3);
  			nextPutAll: '% elapsed time)'.
  		numCompactions = 0 ifFalse:
  			[str	nextPutAll: ', avg '; nextPutAll: (CompatibilityClass print:compactionMsecs / numCompactions showingDecimalPlaces:3); nextPutAll: 'ms'].
  		str	cr].
  
  	gcStatsArray size >= 61 ifTrue:
  		[str cr; nextPutAll: '**Events**'; cr.
  		(56 to: 61)
  			with: #('Process switches' 'ioProcessEvents calls' 'Interrupt checks' 'Event checks' 'Stack overflows' 'Stack page divorces')
  			do: [:index :eventName| | value n |
  				value := gcStatsArray at: index.
  				n := 22 - eventName size // 4 + 1.
  				str	nextPutAll: eventName; tab: n; print: value; nextPutAll: ' (';
  					print: (value * 1000 / elapsedMilliseconds) rounded; nextPutAll: ' per second)'; cr]]!



More information about the Vm-dev mailing list