X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmono-basic-block.c;h=53f21530024f24659ec67200a40fab23b4d548f6;hb=56ad8f4e5dfb8198e4671f631a3103b1e8b83dd3;hp=a62c39868d18bf86f36539b771e5a2d676ec4110;hpb=6bc565c1f7e7fd9aaf6ee6a141ea18479a316ac4;p=mono.git diff --git a/mono/metadata/mono-basic-block.c b/mono/metadata/mono-basic-block.c index a62c39868d1..53f21530024 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 @@ -295,11 +296,11 @@ bb_liveness (MonoSimpleBasicBlock *bb) } while (mark_stack->len > 0) { - MonoSimpleBasicBlock *block = g_ptr_array_remove_index_fast (mark_stack, mark_stack->len - 1); + MonoSimpleBasicBlock *block = (MonoSimpleBasicBlock *)g_ptr_array_remove_index_fast (mark_stack, mark_stack->len - 1); block->dead = FALSE; for (tmp = block->out_bb; tmp; tmp = tmp->next) { - MonoSimpleBasicBlock *to = tmp->data; + MonoSimpleBasicBlock *to = (MonoSimpleBasicBlock *)tmp->data; if (to->dead) g_ptr_array_add (mark_stack, to); } @@ -514,18 +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 (method); - - mono_error_init (error); - - if (!header) { - mono_error_set_not_verifiable (error, method, "Could not decode header"); - return NULL; - } start = header->code; end = start + header->code_size; @@ -551,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; }