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;
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: */
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;
}
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) {
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);
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 ++;
}
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);
}
}