+
+Mon Mar 8 17:30:44 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * verify.c, debug-helpers.c, profiler.c, loader.c,
+ mono-basic-block.c, mono-debug.c, reflection.c: prepare to make
+ MonoMethodHeader a transient entity.
+
2010-03-08 Zoltan Varga <vargaz@gmail.com>
* sgen-gc.c (scan_needed_big_objects): Call drain_gray_stack () to avoid
if (dh->newline)
g_string_append (str, dh->newline);
+ mono_metadata_free_mh (header);
return ip;
}
return NULL;
loc = mono_image_rva_map (img, rva);
- g_assert (loc);
+ if (!loc)
+ return NULL;
header = mono_metadata_parse_mh_full (img, mono_method_get_generic_container (method), loc);
dump_bb_list (bb, &root, g_strdup_printf("AFTER LIVENESS %s", mono_method_full_name (method, TRUE)));
#endif
+ mono_metadata_free_mh (header);
return bb;
fail:
+ mono_metadata_free_mh (header);
mono_basic_block_free (bb);
return NULL;
}
wrapper->method_name = mono_method_full_name (declaring, TRUE);
wrapper->cil_code = mono_disasm_code (
NULL, declaring, il_code, il_code + il_codesize);
+ mono_metadata_free_mh (mheader);
}
} else {
address->header.wrapper_data = header->wrapper_data;
g_free (fname);
}
}
+ mono_metadata_free_mh (header);
}
#ifndef DISABLE_PROFILER
}
CACHE_OBJECT (MonoReflectionMethodBody *, method, ret, NULL);
+ mono_metadata_free_mh (header);
return ret;
}
g_free (ctx.locals);
g_free (ctx.params);
mono_basic_block_free (bb);
+ mono_metadata_free_mh (ctx.header);
return ctx.list;
}