#include <string.h>
#include <errno.h>
#include <stdlib.h>
+#include <glib.h>
#include <sys/stat.h>
struct _MonoProfiler {
{
ForeachData *udata = (ForeachData*)user_data;
MonoMethod *method = (MonoMethod*)data;
+ char *name;
if (!mono_method_get_token (method) || mono_class_get_image (mono_method_get_class (method)) != udata->image)
return;
- fprintf (udata->outfile, "%d\n", mono_method_get_token (method));
+ name = mono_method_full_name (method, TRUE);
+ fprintf (udata->outfile, "%s\n", name);
+ g_free (name);
}
static void
tmp = g_strdup_printf ("%s/.mono/aot-profile-data", g_get_home_dir ());
if (!g_file_test (tmp, G_FILE_TEST_IS_DIR)) {
-#ifdef PLATFORM_WIN32
+#ifdef HOST_WIN32
err = mkdir (tmp);
#else
err = mkdir (tmp, 0777);
i = 0;
while (TRUE) {
- outfile_name = g_strdup_printf ("%s/%s-%s-%d", tmp, mono_image_get_name (image), mono_image_get_guid (image), i);
+ outfile_name = g_strdup_printf ("%s/%s-%d", tmp, mono_image_get_name (image), i);
if (!g_file_test (outfile_name, G_FILE_TEST_IS_REGULAR))
break;
outfile = fopen (outfile_name, "w+");
g_assert (outfile);
- fprintf (outfile, "#VER:%d\n", 1);
+ fprintf (outfile, "#VER:%d\n", 2);
data.prof = prof;
data.outfile = outfile;
data->methods = g_list_append (data->methods, method);
}
+void
+mono_profiler_startup (const char *desc);
+
/* the entry point */
void
mono_profiler_startup (const char *desc)