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

commits at source.squeak.org commits at source.squeak.org
Fri Jun 1 00:34:29 UTC 2018

Eliot Miranda uploaded a new version of CogTools to project VM Maker:

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

Name: CogTools-eem.86
Author: eem
Time: 31 May 2018, 5:34:16.049979 pm
UUID: 5becac89-89a6-4f7a-a5bf-be8981ad66a3
Ancestors: CogTools-sk.85

Fix profile buffer for 64-bits (use DoubleWordAray).  So for symmetry change to using WordArray in 32-bits instead of Bitmap.
Hack fix MNU cases in PICs in analyzeClosedPIC:.  This is a hack because the VM is answering useless values.  It simply answers #doesNotUnderstand:, whereas it could more usefully answer {theClass. #doesNotUnderstand:} or simply {theClass}.  In fact, all the PIC cases should supply what the actual receiver class is, not simply the target method.  We have to discuss what to do.  This is in Cogit>>#createCPICData:

=============== Diff against CogTools-sk.85 ===============

Item was changed:
  ----- Method: VMProfiler>>computeHistograms: (in category 'profiling') -----
  computeHistograms: numSamples
  	sampleBuffer ifNil:
+ 		[sampleBuffer := (Smalltalk wordSize = 8
+ 							ifTrue: [DoubleWordArray]
+ 							ifFalse: [WordArray]) new: self profileSize].
- 		[sampleBuffer := Bitmap new: self profileSize].
  	self getVMProfileSamplesInto: sampleBuffer.
  	Cursor wait showWhile:
  		[1 to: numSamples do:
  			sampleBag add: (sampleBuffer at: i)].
  		 sortedSamples := sampleBag sortedElements].
  	total := total + numSamples!

Item was changed:
  ----- Method: VMProfilerSymbolsManager>>analyzeClosedPIC: (in category 'Constituents naming') -----
  analyzeClosedPIC: aClosedPIC
  	^ Dictionary new
  		at: 'selector' put: aClosedPIC first;
  		at: 'nbOfCases' put: aClosedPIC size -1;
+ 		at: 'listOfCases' put: ((aClosedPIC allButFirst collect:
+ 								[ :each |
+ 								each isSymbol "MNU PIC Case"
+ 									ifTrue: [each]
+ 									ifFalse: [each methodClass name]]) asSet);
+ 		yourself!
- 		at: 'listOfCases' put: ((aClosedPIC allButFirst collect: [ :each | each methodClass name ]) asSet);
- 		yourself.!

More information about the Vm-dev mailing list