}
void
-mono_profiler_code_buffer_new (gpointer buffer, int size, MonoProfilerCodeBufferType type, void *data) {
+mono_profiler_code_buffer_new (gpointer buffer, int size, MonoProfilerCodeBufferType type, gconstpointer data) {
ProfilerDesc *prof;
for (prof = prof_list; prof; prof = prof->next) {
if (prof->code_buffer_new)
- prof->code_buffer_new (prof->profiler, buffer, size, type, data);
+ prof->code_buffer_new (prof->profiler, buffer, size, type, (void*)data);
}
}
void
mono_profiler_coverage_get (MonoProfiler *prof, MonoMethod *method, MonoProfileCoverageFunc func)
{
- MonoProfileCoverageInfo* info;
+ MonoProfileCoverageInfo* info = NULL;
int i, offset;
guint32 code_size;
const unsigned char *start, *end, *cil_code;
MonoDebugMethodInfo *debug_minfo;
mono_profiler_coverage_lock ();
- info = g_hash_table_lookup (coverage_hash, method);
+ if (coverage_hash)
+ info = g_hash_table_lookup (coverage_hash, method);
mono_profiler_coverage_unlock ();
if (!info)
}
if (!load_embedded_profiler (desc, mname)) {
libname = g_strdup_printf ("mono-profiler-%s", mname);
- if (!load_profiler_from_directory (NULL, libname, desc)) {
- res = FALSE;
#if defined (MONO_ASSEMBLIES)
- res = load_profiler_from_directory (mono_assembly_getrootdir (), libname, desc);
+ res = load_profiler_from_directory (mono_assembly_getrootdir (), libname, desc);
#endif
- if (!res)
- res = load_profiler_from_mono_instalation (libname, desc);
-
- if (!res)
- g_warning ("The '%s' profiler wasn't found in the main executable nor could it be loaded from '%s'.", mname, libname);
- }
+ if (!res)
+ res = load_profiler_from_directory (NULL, libname, desc);
+ if (!res)
+ res = load_profiler_from_mono_instalation (libname, desc);
+ if (!res)
+ g_warning ("The '%s' profiler wasn't found in the main executable nor could it be loaded from '%s'.", mname, libname);
g_free (libname);
}
g_free (mname);