[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:
http://source.squeak.org/VMMaker/CogTools-eem.86.mcz
==================== 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:
[:i|
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