Merge pull request #2820 from kumpera/license-change-rebased
[mono.git] / mono / metadata / mono-basic-block.c
index a62c39868d18bf86f36539b771e5a2d676ec4110..53f21530024f24659ec67200a40fab23b4d548f6 100644 (file)
@@ -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 <config.h>
@@ -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;
 }