[MLton-devel] experimental release of source-level profiling

Stephen Weeks MLton@mlton.org
Mon, 20 Jan 2003 13:08:42 -0800


> > > > >      function       cur    raw    stack   raw     GC    raw
> > > > > ------------------ ----- -------- ----- -------- ---- -------
> > > > > doit                0.0%   (0.0s) 97.4% (50.03s) 2.6% (1.31s)
> > > > > <GC_arrayAllocate>  0.3%  (0.15s) 97.4% (50.03s) 2.6% (1.31s)
> > > >
> > > > The 97.4% stack for GC_arrayAllocate looks like a bug to me.  I'll
> > > > look into it.
> > >
> > > I just grabbed that from some stuff I had lying around.
> >
> > Ahh.  So did the problem happen with the experimental release?  I
> > assume not, since I am not able to reproduce the problem.
> 
> It's not the experimental release as is currently on the web, but it does
> correspond to the CVS repository as of earlier this morning.

I've duplicated the problem and isolated the bug.  It is happening
because the native codegen is caching gcState.currentSource in a
register.  It should always be written to memory as soon as it is
assigned, since the profile signal handler looks at it.  I tried
making its class GCStateVolatile, but that didn't seem to help.  Is
there some way of getting the behavior I need?



-------------------------------------------------------
This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your  SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel