From: Zoltan Varga Date: Tue, 24 Jun 2008 20:08:49 +0000 (-0000) Subject: 2008-06-24 Zoltan Varga X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=9caea5d15944c4698dee38d72b8d8054ff095d85;p=mono.git 2008-06-24 Zoltan Varga * mini.c: Avoid storing MonoMethod pointers in the JIT stats, store their string format instead. svn path=/trunk/mono/; revision=106535 --- diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index a00acea2045..fe74eb623b5 100644 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,3 +1,7 @@ +2008-06-24 Zoltan Varga + + * mini.c: Avoid storing MonoMethod pointers in the JIT stats, store their string format instead. + 2008-06-24 Mark Probst * mini.c (get_object_generic_inst): Variable-sized arrays are not diff --git a/mono/mini/mini.c b/mono/mini/mini.c index a2fe0b887a1..efaa0ac3d09 100644 --- a/mono/mini/mini.c +++ b/mono/mini/mini.c @@ -12446,13 +12446,15 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, gbool mono_jit_stats.allocated_code_size += cfg->code_len; code_size_ratio = cfg->code_len; if (code_size_ratio > mono_jit_stats.biggest_method_size) { - mono_jit_stats.biggest_method_size = code_size_ratio; - mono_jit_stats.biggest_method = method; + mono_jit_stats.biggest_method_size = code_size_ratio; + g_free (mono_jit_stats.biggest_method); + mono_jit_stats.biggest_method = g_strdup_printf ("%s::%s)", method->klass->name, method->name); } code_size_ratio = (code_size_ratio * 100) / mono_method_get_header (method)->code_size; if (code_size_ratio > mono_jit_stats.max_code_size_ratio) { mono_jit_stats.max_code_size_ratio = code_size_ratio; - mono_jit_stats.max_ratio_method = method; + g_free (mono_jit_stats.max_ratio_method); + mono_jit_stats.max_ratio_method = g_strdup_printf ("%s::%s)", method->klass->name, method->name); } mono_jit_stats.native_code_size += cfg->code_len; @@ -13952,10 +13954,10 @@ print_jit_stats (void) g_print ("Analyze stack repeat: %ld\n", mono_jit_stats.analyze_stack_repeat); g_print ("Compiled CIL code size: %ld\n", mono_jit_stats.cil_code_size); g_print ("Native code size: %ld\n", mono_jit_stats.native_code_size); - g_print ("Max code size ratio: %.2f (%s::%s)\n", mono_jit_stats.max_code_size_ratio/100.0, - mono_jit_stats.max_ratio_method->klass->name, mono_jit_stats.max_ratio_method->name); - g_print ("Biggest method: %ld (%s::%s)\n", mono_jit_stats.biggest_method_size, - mono_jit_stats.biggest_method->klass->name, mono_jit_stats.biggest_method->name); + g_print ("Max code size ratio: %.2f (%s)\n", mono_jit_stats.max_code_size_ratio/100.0, + mono_jit_stats.max_ratio_method); + g_print ("Biggest method: %ld (%s)\n", mono_jit_stats.biggest_method_size, + mono_jit_stats.biggest_method); g_print ("Code reallocs: %ld\n", mono_jit_stats.code_reallocs); g_print ("Allocated code size: %ld\n", mono_jit_stats.allocated_code_size); g_print ("Inlineable methods: %ld\n", mono_jit_stats.inlineable_methods); @@ -14020,6 +14022,11 @@ print_jit_stats (void) g_print ("Metadata pagefaults : %d\n", mono_raw_buffer_get_n_pagefaults ()); g_print ("AOT pagefaults : %d\n", mono_aot_get_n_pagefaults ()); } + + g_free (mono_jit_stats.max_ratio_method); + mono_jit_stats.max_ratio_method = NULL; + g_free (mono_jit_stats.biggest_method); + mono_jit_stats.biggest_method = NULL; } }