How to enable profiling in Mac VM?

John M McIntosh johnmci at smalltalkconsulting.com
Sat Apr 28 15:02:00 UTC 2001


>If this has been posted, I sure can't find it ;-)
>
>I goofed around, as new Squeakers often do, and managed to get Squeak to
>create enough C sources so that I could compile a working VM. (Whatever I can
>get from Squeak 3.1 Alpha, update 3910.)  Looking through the code, I saw
>that I could remove a comment and allow profiling... I did that, recompiled,
>verified that the profiling code was there (have necessary library, too, this
>is for PPC non-Carbon).
>
>Back into Squeak with the new VM, looking around in the Method Browser, I
>found profile, profile: and similar. Pulling up a browser on profile: showed
>some code to profile a block; I tried manually executing, in order, the
>"steps" shown in the code. (did this in a text window with "doIts," since I'm
>still too wet behind the ears to know how to specify a "block" - don't tell
>anyone, eh? ;-)
>
>Problem? Can't seem to ever create the "Profile.out" file at any point when
>the profile is dumped and/or the VM quits (Quit from Squeak world menu or VM
>"Mac menubar" Quit).
>
>Anyone with the patience to walk me through the basics of what I should be
>doing?
>
>BTW, the VM sure is a lot slower with the profiling code compiled in!
>
>Thank you all,
>Jean

I'm not sure anyone has really explain this since it's tied to Code 
Warrior. If you build a Code Warrior project you must build it with 
CW profiling turned on in order to get the profile: to work.

Also you should build the VM with no inlining. This makes it much 
easier to read the C code and to get proper profiling information.

Apple also makes product that captures branch locations via hardware. 
With a .SYM file you can also get a good picture of where code usage 
is happening.
-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================





More information about the Squeak-dev mailing list