VM Profiling in Linux

Anthony Hannan ajh18 at cornell.edu
Mon Mar 11 21:55:48 UTC 2002


Scott A Crosby <crosby at qwes.math.cmu.edu> wrote:
> Whoops. This got lost in the mail. :)  You get profiling to work?
I would work but all result would be zero.  Do I have to run it for a
very long time.  I just ran it for about 4 minutes.

> BTW, have you gotten the new method cache integrated in? I'm back from
> visiting grad schools, so I have a little more time to help out. For
> profiling under linux, the method cache, fulltext, or anything else.

Thanks Scott, maybe I'll need your help later, but for now I'm putting
off these enhancements until I'm ready to release BC version 3, which I
haven't started yet but will contain some compiler improvements so it 
generates better bytecodes.  In particular, I want to avoid initializing all
temps to nil at the start of every method.  Most methods have no temps so
it is a waste for the VM to go through this loop even if it is empty.  Also,
since the nils will likely be overriden it is a waste to put nils in the stack
in the first place. The idea is to generate code that will just start executing
expressions and leave values on the stack in place if they are going to
be used again.  Some values may have to be moved to reserved "temp"
slots (like when an assignment is embedded in an argument expression to
a message send) but hopefully this will be infrequent enough to warrant
this new approach.

Cheers,
Anthony



More information about the Squeak-dev mailing list