Hi All,
I am not going to bother with the QVMProfileMacSupportPlugin that Pharo has and Squeak does not for the following reasons.
1. On pharo while the plugin exists in Smalltalk class, the only CMakeGenerator that uses it is broken. 2. There is no source code for this plugin in the pharo source tree. 3. In source.squeak.org VMMaker.oscog there is Qwaq-VMProfiling-eem.66 --which is not a plugin, but has both an uppercase 'Q' and a lowercase 'q'--so that tells me its robust (: actually, its category is CogTools-VMProfiler which implies it does the job.
The pharo QVMProfileMacSupprtPlugin has one method: primitiveExecutableModulesAndOffsets and its class comment reads as such:
This class provides support for the VMProfiler on MacOS X. This support is for reading symbols from the executable. We can use the OS's nm command to list symbols in the VM executable and loaded libraries. To do this we need to know what libraries are loaded, not simply which libraries are linked against, since some libraries are loaded dynamically, and for each loaded library what the vm address relocation, if any, is for the loaded library. The primitive primitiveExecutableModulesAndOffsets returns these as an array of pairs, module name to relocation.
If somebody "really really" wants the thing, I will continue digging, but my impression is that the Cog work has bypassed the QVMProfileMacSupportPlugin.
Let me know.
tty
Hi Timothy,
On Mon, Jun 2, 2014 at 11:58 AM, gettimothy gettimothy@zoho.com wrote:
Hi All,
I am not going to bother with the QVMProfileMacSupportPlugin that Pharo has and Squeak does not for the following reasons.
- On pharo while the plugin exists in Smalltalk class, the only
CMakeGenerator that uses it is broken. 2. There is no source code for this plugin in the pharo source tree. 3. In source.squeak.org VMMaker.oscog there is Qwaq-VMProfiling-eem.66 --which is not a plugin, but has both an uppercase 'Q' and a lowercase 'q'--so that tells me its robust (: actually, its category is CogTools-VMProfiler which implies it does the job.
The pharo QVMProfileMacSupprtPlugin has one method: primitiveExecutableModulesAndOffsets and its class comment reads as such:
This class provides support for the VMProfiler on MacOS X. This support is for reading symbols from the executable. We can use the OS's nm command to list symbols in the VM executable and loaded libraries. To do this we need to know what libraries are loaded, not simply which libraries are linked against, since some libraries are loaded dynamically, and for each loaded library what the vm address relocation, if any, is for the loaded library. The primitive primitiveExecutableModulesAndOffsets returns these as an array of pairs, module name to relocation.
If somebody "really really" wants the thing, I will continue digging, but my impression is that the Cog work has bypassed the QVMProfileMacSupportPlugin.
The Q versions are old (when the code was from Qwaq).
The plugins are
VMProfileLinuxSupportPlugin VMProfileMacSupportPlugin
They are important and should be included if at all possible. They certainly work on Linux and Mac OS X respectively. hey enable the VMProfiler, which is a really handy piece of kit.
Hi Eliot.
>The Q versions are old (when the code was from Qwaq).
>The plugins are > VMProfileLinuxSupportPlugin > VMProfileMacSupportPlugin >They are important and should be included if at all possible. They certainly work on Linux and Mac OS X respectively. hey enable the VMProfiler, which is a really handy piece of kit.
I have added them to my checklist of plugins to install and I will hunt them down.
I will also remove Qwaq-VMProfiling from the BuildSqueakXYZImage.st scripts. (you don't have that live, so no worries on your part)
cordially,
tty
vm-dev@lists.squeakfoundation.org