profBug

Henry Cejtin henry@sourcelight.com
Sat, 2 Jun 2001 19:04:22 -0500


Sorry for the confusion, but I don't think that this explains any thing.  You
are right that I can't use the full mlton -p compilation because the mlton  I
have  then  runs  gcc with the -p flag, which is wrong.  What I usually do is
compile with -p, then re-link it without the -p and manually  adding  prof.o.
I must have forgotten to do this in the version I packed up.

I just put up a new version of the whole thing at
    http://sourcelight.com/Z/profBug.tgz
In the latest version, if you run
    mlprof go mlmon.out
you will see that it claims 2.51% for GC_foreachPointerInObject and 1.73% for
GC_foreachPointerInRange.  If you then do `nm -na go', you will see thatthere
are no static symbols adjacent to these two, so I claim that
    mlprof -s go mlmon.out
should  attribute exactly the same percentage to these two.  Despite this, if
you run
    mlprof -s go mlmon.out
then neither of these routines appear at all.

Also,  looking  at  the   individual   bins,   I   cound   129   counts   for
GC_foreachPointerInObject  and  90  for GC_foreachPointerInRange all out of a
total of 5217 counts.  Thus I would say
    GC_foreachPointerInObject       2.47%
    GC_foreachPointerInRange        1.73%
so even without -s the count  for  GC_foreachPoitnerInObject  looks  slightly
wrong.