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);