X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fprofiler.c;h=f5891ccd38f5a6b0b296ba45a538d74fe785f1ad;hb=aa3de31b70d1c5826d67147696423cdd9c334d41;hp=dccf09307119dae0221e9cce91dba789ff876dc5;hpb=e4aa060bea5bc82362b9ea2c66de4c8da782a061;p=mono.git diff --git a/mono/metadata/profiler.c b/mono/metadata/profiler.c index dccf0930711..f5891ccd38f 100644 --- a/mono/metadata/profiler.c +++ b/mono/metadata/profiler.c @@ -936,11 +936,11 @@ mono_profiler_install_iomap (MonoProfileIomapFunc callback) } 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); } } @@ -1013,7 +1013,7 @@ mono_profiler_coverage_free (MonoMethod *method) 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; @@ -1022,7 +1022,8 @@ mono_profiler_coverage_get (MonoProfiler *prof, MonoMethod *method, MonoProfileC 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) @@ -1196,17 +1197,15 @@ mono_profiler_load (const char *desc) } 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);