Author: zoltan
Date: 2005-12-12 18:55:20 -0500 (Mon, 12 Dec 2005)
New Revision: 54267
Modified:
branches/vargaz/mini-linear-il/mono/mono/mini/method-to-ir.c
branches/vargaz/mini-linear-il/mono/mono/mini/mini-amd64.c
branches/vargaz/mini-linear-il/mono/mono/mini/mini.c
Log:
Ongoing work
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/method-to-ir.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/method-to-ir.c
2005-12-12 23:40:10 UTC (rev 54266)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/method-to-ir.c
2005-12-12 23:55:20 UTC (rev 54267)
@@ -4273,7 +4273,6 @@
case OP_LCONV_TO_I8:
case OP_ICONV_TO_U8:
case OP_LCONV_TO_I:
- case OP_ICONV_TO_U4:
ins->opcode = OP_MOVE;
break;
case OP_ICONV_TO_I8:
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini-amd64.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini-amd64.c 2005-12-12
23:40:10 UTC (rev 54266)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini-amd64.c 2005-12-12
23:55:20 UTC (rev 54267)
@@ -1402,6 +1402,10 @@
cinfo = get_call_info (sig, sig->pinvoke);
+ if (cinfo->need_stack_align) {
+ MONO_EMIT_NEW_BIALU_IMM (cfg, OP_SUB_IMM, X86_ESP, X86_ESP, 8);
+ }
+
for (i = n - 1; i >= 0; --i) {
ainfo = cinfo->args + i;
@@ -1612,13 +1616,6 @@
}
}
- if (cinfo->need_stack_align) {
- MONO_INST_NEW (cfg, arg, OP_AMD64_OUTARG_ALIGN_STACK);
- /* prepend, so they get reversed */
- arg->next = call->out_args;
- call->out_args = arg;
- }
-
call->stack_usage = cinfo->stack_usage;
cfg->param_area = MAX (cfg->param_area, call->stack_usage);
cfg->flags |= MONO_CFG_HAS_CALLS;
Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini.c
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini.c 2005-12-12
23:40:10 UTC (rev 54266)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini.c 2005-12-12
23:55:20 UTC (rev 54267)
@@ -10612,6 +10612,7 @@
#endif
#ifdef MONO_ARCH_EMULATE_CONV_R8_UN
mono_register_opcode_emulation (CEE_CONV_R_UN, "__emul_conv_r_un",
"double int32", mono_conv_to_r8_un, FALSE);
+ mono_register_opcode_emulation (OP_ICONV_TO_R_UN,
"__emul_iconv_to_r_un", "double int32", mono_conv_to_r8_un, FALSE);
#endif
#ifdef MONO_ARCH_EMULATE_LCONV_TO_R8
mono_register_opcode_emulation (OP_LCONV_TO_R8, "__emul_lconv_to_r8",
"double long", mono_lconv_to_r8, FALSE);
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches