X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmono-basic-block.c;h=53f21530024f24659ec67200a40fab23b4d548f6;hb=56ad8f4e5dfb8198e4671f631a3103b1e8b83dd3;hp=f4cbdcffc0fd0a115a9e754c25e022e310c4b089;hpb=6ce453f2cf8299a516e818ac287c07c35d8767e5;p=mono.git diff --git a/mono/metadata/mono-basic-block.c b/mono/metadata/mono-basic-block.c index f4cbdcffc0f..53f21530024 100644 --- a/mono/metadata/mono-basic-block.c +++ b/mono/metadata/mono-basic-block.c @@ -515,20 +515,11 @@ mono_basic_block_free (MonoSimpleBasicBlock *bb) * Return the list of basic blocks of method. Return NULL on failure and set @error. */ MonoSimpleBasicBlock* -mono_basic_block_split (MonoMethod *method, MonoError *error) +mono_basic_block_split (MonoMethod *method, MonoError *error, MonoMethodHeader *header) { MonoError inner_error; MonoSimpleBasicBlock *bb, *root; const unsigned char *start, *end; - MonoMethodHeader *header = mono_method_get_header_checked (method, &inner_error); - - mono_error_init (error); - - if (!header) { - mono_error_set_not_verifiable (error, method, "Could not decode header due to %s", mono_error_get_message (&inner_error)); - mono_error_cleanup (&inner_error); - return NULL; - } start = header->code; end = start + header->code_size; @@ -554,11 +545,9 @@ mono_basic_block_split (MonoMethod *method, MonoError *error) 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; }