X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mono%2Fmetadata%2Fmono-basic-block.c;h=564c83a6151db8cba9ce666d90a3b85ccef6cc2d;hb=1c385f99e1c5e5c76e03c49e838ac29739a2e9e2;hp=d7115994b84f49a9063db8720ace9c9423c44f15;hpb=8004de2b79b64d8a09ea173b7b2ca679dc54699c;p=mono.git diff --git a/mono/metadata/mono-basic-block.c b/mono/metadata/mono-basic-block.c index d7115994b84..564c83a6151 100644 --- a/mono/metadata/mono-basic-block.c +++ b/mono/metadata/mono-basic-block.c @@ -5,6 +5,7 @@ * Rodrigo Kumpera (rkumpera@novell.com) * * Copyright 2010 Novell, Inc (http://www.novell.com) + * Licensed under the MIT license. See LICENSE file in the project root for full license information. */ #include @@ -514,20 +515,10 @@ 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; @@ -553,11 +544,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; }