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

commits at source.squeak.org commits at source.squeak.org
Tue Jul 26 18:57:00 UTC 2022


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

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

Name: CogTools-eem.93
Author: eem
Time: 26 July 2022, 11:56:59.213388 am
UUID: b59134c5-2632-4288-9986-11cc195e3a9c
Ancestors: CogTools-eem.92

Extend VMProfilerMacSymbolsManager with support for M1 Macs.
The VMProfiler still has to use the new primitive primitiveTextSymbols:. But this is a start.

=============== Diff against CogTools-eem.92 ===============

Item was changed:
  ----- Method: VMProfilerMacSymbolsManager>>archName (in category 'parsing') -----
  archName
  	"Answer the architecture name for use with nm, size et al."
  	^(Smalltalk image getSystemAttribute: 1003) caseOf: {
  		['intel']	->	['i386'].
+ 		['x64']	->	['x86_64'].
+ 		['aarch64']	->	['arm64'] }!
- 		['x64']	->	['x86_64'] }!

Item was changed:
  ----- Method: VMProfilerMacSymbolsManager>>primitiveExecutableModulesAndOffsets (in category 'primitives') -----
  primitiveExecutableModulesAndOffsets
+ 	"Answer an Array with information on the VM executable and  all loaded libraries.
+ 	 The data is flat, occurring in quartets of executable module name, the vm address relocation, the load address and the size for each module.
+ 	 Hence the effective start address for each module is the sum of the first and second entries following the module name."
- 	"Answer an Array of pairs of executable module names (the VM executable and
- 	 all loaded libraries) and the vm address relocation, if any, is for the module."
  	<primitive: 'primitiveExecutableModulesAndOffsets' module: 'VMProfileMacSupportPlugin'>
  	^self primitiveFailed
  
  
  	"self basicNew primitiveExecutableModulesAndOffsets"!

Item was added:
+ ----- Method: VMProfilerMacSymbolsManager>>primitiveTextSymbols: (in category 'primitives') -----
+ primitiveTextSymbols: moduleIndex
+ 	"Answer an Array of pairs of address, name, for text symbols in the n'th loaded module,
+ 	 as defined by the _dyld_image_count enumeration."
+ 	<primitive: 'primitiveTextSymbols' module: 'VMProfileMacSupportPlugin' error: ec>
+ 	^self primitiveFailed
+ 
+ 	"self basicNew primitiveTextSymbols: 0"!



More information about the Vm-dev mailing list