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

Andreas Färber andreas.faerber at web.de
Thu Jun 5 12:51:27 EDT 2008


Thanks, done: r104964.

Andreas

Am 03.06.2008 um 23:12 schrieb Zoltan Varga:

> 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