[Mono-dev] [PATCH] Mono DTrace provider v3

Zoltan Varga vargaz at gmail.com
Tue Jun 3 17:12:40 EDT 2008


Hi,

I think this is ok to check in. If it works out, we can enable it by
default later.

                   Zoltan

On Tue, Jun 3, 2008 at 10:49 PM, Andreas Färber <andreas.faerber at web.de> wrote:
> 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
>
>
>
>
>
>


More information about the Mono-devel-list mailing list