[Mono-dev] [PATCH] Mono DTrace provider v3
Andreas Färber
andreas.faerber at web.de
Tue Jun 3 16:49:16 EDT 2008
Hi Zoltan,
Thanks again for your feedback.
v2 has been tested to work on Solaris 10 5/08 i86, too, in the
meantime. It requires the same workaround for the gc-end probe as
OpenSolaris.
Am 03.06.2008 um 18:32 schrieb Zoltan Varga:
> Wouldn't be easier to pass the DTRACE and DTRACEFLAGS arguments to
> the
> prelink.sh script in Makefile.am as well, instead of creating it from
> an .in file ?
Done. This eliminates calling config.status after changes to the script.
> Other than that, I think this is ok to check in.
Has the issue of --enable-dtrace vs. --disable-dtrace been decided?
There appeared to be a disagreement between Miguel and you, and there
were no further comments.
One of Sun's DTrace developers writes that DTrace probes would work on
earlier versions of Solaris as no-ops.
http://blogs.sun.com/ahl/entry/user_land_tracing_gets_better#comment-1148081088000
I don't have access to pre-10 Solaris systems to confirm this.
I verified it on OSX, by compiling a DTrace-enabled Hello World with
gcc-3.3 and running it on both v10.5 and v10.3.9. So it would seem
possible to enable DTrace support for the official Mono.framework 2.0,
in case this was Miguel's thought.
> I still don't like
> the makefile changes,
> but at least they are inside an ifdef, so they won't break anything.
We have two options here. Either we commit the changes, allowing to
improve them later. Or we commit only the Mac OS X part for now. As
you like.
I've added new probes for the JIT, method-compile-begin and method-
compile-end. The MONO_PROBE_METHOD_COMPILE_* macros I've defined to
accept a MonoMethod* argument and to translate it to the final probe
arguments there. This avoids code duplication in mini.c.
Note that my patch shows four returns not handled by Mono's profiler,
for unsuccessful AOT generic sharing and for parts==1,2,3. Should that
be fixed, or is it not necessary for some reason?
Signed-off-by: Andreas Faerber <andreas.faerber at web.de>
ChangeLog v3:
* dtrace-prelink.sh: Renamed (from dtrace-prelink.sh.in)
Don't define AR, DTRACE, DTRACEFLAGS.
Removed debug output.
* configure.in:
Don't output dtrace-prelink.sh.
Move DTrace section up, to after the big-arrays section.
* data/mono.d,
mono/utils/dtrace.h,
mono/mini/mini.c:
Add new probes method-compile-{begin,end}.
* mono/metadata/Makefile.am,
mono/mini/Makefile.am:
dtrace-prelink.sh is now in $(top_srcdir).
Pass AR, DTRACE, DTRACEFLAGS as environment variables to dtrace-
prelink.sh.
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DTrace-USDT-3.diff
Type: application/octet-stream
Size: 15286 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20080603/b4cef555/attachment.obj
-------------- next part --------------
More information about the Mono-devel-list
mailing list