2005-12-22 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / aliasing.c
index 9e6ea1105aba0aa7cc22fe5e8cb60f6a3bde7ea7..1fa77b2bd15e9e9a57ecab4a012001ac588ee251 100644 (file)
@@ -598,7 +598,7 @@ update_aliasing_information_on_inst (MonoAliasingInformation *info, MonoAliasing
                }
                
                info->number_of_arguments = 0;
-       } else if (inst->opcode == CEE_ADD) {
+       } else if ((inst->opcode == CEE_ADD) || (inst->opcode == OP_LADD)){
                if ((context.subtree_aliases [0].type == MONO_ALIASING_TYPE_LOCAL) || (context.subtree_aliases [0].type == MONO_ALIASING_TYPE_LOCAL_FIELD)) {
                        int variable_index = context.subtree_aliases [0].variable_index;
                        //ADD_BAD_ALIAS (info, variable_index);
@@ -736,7 +736,7 @@ mono_build_aliasing_information (MonoCompile *cfg) {
                                } else {
                                        MonoLocalVariableList *last = use->affected_variables;
                                        while (last->next != NULL) {
-                                               while (info->variable_is_uncontrollably_aliased [last->next->variable_index]) {
+                                               while (last->next && info->variable_is_uncontrollably_aliased [last->next->variable_index]) {
                                                        last->next = last->next->next;
                                                }
                                                if (last->next != NULL) {