merge -r 53370:58178
[mono.git] / mono / mini / mini-ia64.c
index 4f7309258718ceccd76d11a5b5abb6c905375313..e02d42289afa74117617b0189d86f470ee4a5a86 100644 (file)
@@ -398,13 +398,6 @@ get_call_info (MonoMethodSignature *sig, gboolean is_pinvoke)
                        cinfo->ret.storage = ArgInFloatReg;
                        cinfo->ret.reg = 8;
                        break;
-               case MONO_TYPE_GENERICINST:
-                       if (!mono_type_generic_inst_is_valuetype (sig->ret)) {
-                               cinfo->ret.storage = ArgInIReg;
-                               cinfo->ret.reg = IA64_R8;
-                               break;
-                       }
-                       /* Fall through */
                case MONO_TYPE_VALUETYPE:
                case MONO_TYPE_TYPEDBYREF: {
                        guint32 tmp_gr = 0, tmp_fr = 0, tmp_stacksize = 0;
@@ -485,12 +478,6 @@ get_call_info (MonoMethodSignature *sig, gboolean is_pinvoke)
                case MONO_TYPE_ARRAY:
                        add_general (&gr, &stack_size, ainfo);
                        break;
-               case MONO_TYPE_GENERICINST:
-                       if (!mono_type_generic_inst_is_valuetype (sig->params [i])) {
-                               add_general (&gr, &stack_size, ainfo);
-                               break;
-                       }
-                       /* Fall through */
                case MONO_TYPE_VALUETYPE:
                case MONO_TYPE_TYPEDBYREF:
                        /* FIXME: */
@@ -608,10 +595,6 @@ is_regsize_var (MonoType *t) {
        case MONO_TYPE_SZARRAY:
        case MONO_TYPE_ARRAY:
                return TRUE;
-       case MONO_TYPE_GENERICINST:
-               if (!mono_type_generic_inst_is_valuetype (t))
-                       return TRUE;
-               return FALSE;
        case MONO_TYPE_VALUETYPE:
                return FALSE;
        }
@@ -1089,7 +1072,7 @@ mono_arch_call_opcode (MonoCompile *cfg, MonoBasicBlock* bb, MonoCallInst *call,
 
                        if ((i >= sig->hasthis) && (MONO_TYPE_ISSTRUCT(arg_type))) {
                                MonoInst *stack_addr;
-                               guint32 align;
+                               gint align;
                                guint32 size;
 
                                if (arg_type->type == MONO_TYPE_TYPEDBYREF) {
@@ -2238,7 +2221,6 @@ emit_call (MonoCompile *cfg, Ia64CodegenState code, guint32 patch_type, gconstpo
 
        if ((patch_type == MONO_PATCH_INFO_ABS) || (patch_type == MONO_PATCH_INFO_INTERNAL_METHOD)) {
                /* Indirect call */
-               /* mono_arch_patch_callsite will patch this */
                /* mono_arch_nullify_class_init_trampoline will patch this */
                ia64_movl (code, GP_SCRATCH_REG, 0);
                ia64_ld8_inc_imm (code, GP_SCRATCH_REG2, GP_SCRATCH_REG, 8);
@@ -4695,7 +4677,7 @@ mono_arch_emit_this_vret_args (MonoCompile *cfg, MonoCallInst *inst, int this_re
                        vtarg->dreg = mono_regstate_next_int (cfg->rs);
                        mono_bblock_add_inst (cfg->cbb, vtarg);
 
-                       mono_call_inst_add_outarg_reg (cfg, call, vtarg->dreg, out_reg, FALSE);
+                       mono_call_inst_add_outarg_reg (call, vtarg->dreg, out_reg, FALSE);
 
                        out_reg ++;
                }
@@ -4712,7 +4694,7 @@ mono_arch_emit_this_vret_args (MonoCompile *cfg, MonoCallInst *inst, int this_re
                this->dreg = mono_regstate_next_int (cfg->rs);
                mono_bblock_add_inst (cfg->cbb, this);
 
-               mono_call_inst_add_outarg_reg (cfg, call, this->dreg, out_reg, FALSE);
+               mono_call_inst_add_outarg_reg (call, this->dreg, out_reg, FALSE);
        }
 }