X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fgraph.c;h=95e1fff2bb42a59abeb32870870b8c718163494f;hb=23a69556ded315d102337bf13971411188e26bcd;hp=bdd403805e539f6101ab8c990c51532ed7834f5b;hpb=f723f4faddc847d041bbdf2e0d22bda952145997;p=mono.git diff --git a/mono/mini/graph.c b/mono/mini/graph.c index bdd403805e5..95e1fff2bb4 100644 --- a/mono/mini/graph.c +++ b/mono/mini/graph.c @@ -6,6 +6,12 @@ * * (C) 2003 Ximian, Inc. */ + +#include +#include + +#ifndef DISABLE_JIT + #include #include @@ -15,7 +21,7 @@ static char * convert_name (const char *str) { int i, j, len = strlen (str); - char *res = g_malloc (len * 2); + char *res = (char *)g_malloc (len * 2); j = 0; for (i = 0; i < len; i++) { @@ -149,6 +155,8 @@ mono_draw_cfg (MonoCompile *cfg, FILE *fp) fprintf (fp, "}\n"); } +#if 0 + static void mono_print_label (FILE *fp, MonoInst *tree) { int arity; @@ -188,15 +196,15 @@ mono_print_label (FILE *fp, MonoInst *tree) { mono_print_label (fp, tree->inst_newa_len); break; case OP_CALL: - case OP_CALLVIRT: + case OP_CALL_MEMBASE: case OP_FCALL: - case OP_FCALLVIRT: + case OP_FCALL_MEMBASE: case OP_LCALL: - case OP_LCALLVIRT: + case OP_LCALL_MEMBASE: case OP_VCALL: - case OP_VCALLVIRT: + case OP_VCALL_MEMBASE: case OP_VOIDCALL: - case OP_VOIDCALLVIRT: { + case OP_VOIDCALL_MEMBASE: { MonoCallInst *call = (MonoCallInst*)tree; if (call->method) { if (mono_method_signature (call->method)->hasthis && tree->inst_left) { @@ -217,8 +225,6 @@ mono_print_label (FILE *fp, MonoInst *tree) { fprintf (fp, ")]"); break; } - case OP_RENAME: - case OP_RETARG: case OP_NOP: case OP_JMP: case OP_BREAK: @@ -229,13 +235,11 @@ mono_print_label (FILE *fp, MonoInst *tree) { case OP_SWITCH: case CEE_ISINST: case CEE_CASTCLASS: - case OP_OUTARG: case OP_CALL_REG: case OP_FCALL_REG: case OP_LCALL_REG: case OP_VCALL_REG: case OP_VOIDCALL_REG: - case OP_TRAMPCALL_VTABLE: mono_print_label (fp, tree->inst_left); break; case CEE_BNE_UN: @@ -264,6 +268,8 @@ mono_print_label (FILE *fp, MonoInst *tree) { fprintf (fp, ")"); } +#endif + static void mono_draw_code_cfg (MonoCompile *cfg, FILE *fp) { @@ -291,7 +297,7 @@ mono_draw_code_cfg (MonoCompile *cfg, FILE *fp) fprintf (fp, "BB%d [%sshape=record,labeljust=l,label=\"{BB%d|", bb->block_num, color, bb->block_num); MONO_BB_FOR_EACH_INS (bb, inst) { - mono_print_label (fp, inst); + //mono_print_label (fp, inst); fprintf (fp, "\\n"); } @@ -309,6 +315,7 @@ mono_draw_graph (MonoCompile *cfg, MonoGraphOptions draw_options) char *com; const char *fn; FILE *fp; + int _i G_GNUC_UNUSED; fn = "/tmp/minidtree.graph"; fp = fopen (fn, "w+"); @@ -330,9 +337,19 @@ mono_draw_graph (MonoCompile *cfg, MonoGraphOptions draw_options) fclose (fp); +#ifdef HAVE_SYSTEM //com = g_strdup_printf ("dot %s -Tpng -o %s.png; eog %s.png", fn, fn, fn); com = g_strdup_printf ("dot %s -Tps -o %s.ps;gv %s.ps", fn, fn, fn); - system (com); + _i = system (com); g_free (com); +#else + g_assert_not_reached (); +#endif } +#else /* !DISABLE_JIT */ + +MONO_EMPTY_SOURCE_FILE (graph); + +#endif /* !DISABLE_JIT */ +