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

Reply via email to