Author: zoltan
Date: 2005-12-09 19:09:28 -0500 (Fri, 09 Dec 2005)
New Revision: 54182

Modified:
   branches/vargaz/mini-linear-il/mono/mono/mini/cpu-amd64.md
   branches/vargaz/mini-linear-il/mono/mono/mini/method-to-ir.c
   branches/vargaz/mini-linear-il/mono/mono/mini/mini.h
Log:
Ongoing work

Modified: branches/vargaz/mini-linear-il/mono/mono/mini/cpu-amd64.md
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/cpu-amd64.md  2005-12-09 
23:52:50 UTC (rev 54181)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/cpu-amd64.md  2005-12-10 
00:09:28 UTC (rev 54182)
@@ -149,7 +149,12 @@
 long_conv_to_u8: dest:i src1:i len:3
 
 throw: src1:i len:18
+op_throw: src1:i len:18
 op_rethrow: src1:i len:18
+start_handler: len:32
+endfinally: len:32
+op_endfilter: src1:a len:32
+
 conv.ovf.i4.un: dest:i src1:i len:16
 conv.ovf.u4.un: 
 conv.ovf.u4: dest:i src1:i len:15

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-09 23:52:50 UTC (rev 54181)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/method-to-ir.c        
2005-12-10 00:09:28 UTC (rev 54182)
@@ -6039,7 +6039,7 @@
                                        MONO_INST_NEW (cfg, ins, CEE_NOP);
                                        ins->opcode = mono_type_to_stind 
(mono_method_signature (method)->ret);
                                        if (ins->opcode == CEE_STOBJ) {
-                                               EMIT_NEW_RETLOADA (cfg, ins);
+                                               NEW_RETLOADA (cfg, ins);
                                                handle_stobj (cfg, ins, *sp, 
ip, ins->klass, FALSE, FALSE);
                                        } else {
                                                ins->opcode = OP_MOVE;

Modified: branches/vargaz/mini-linear-il/mono/mono/mini/mini.h
===================================================================
--- branches/vargaz/mini-linear-il/mono/mono/mini/mini.h        2005-12-09 
23:52:50 UTC (rev 54181)
+++ branches/vargaz/mini-linear-il/mono/mono/mini/mini.h        2005-12-10 
00:09:28 UTC (rev 54182)
@@ -672,6 +672,9 @@
 };
 #undef MINI_OP
 
+/* Can't use the same with both JITs since that would break the burg rules */
+#if defined(NEW_IR)
+
 #if SIZEOF_VOID_P == 8
 #define OP_PCONST OP_I8CONST
 #define OP_PADD OP_LADD
@@ -681,11 +684,10 @@
 #define OP_PCONV_TO_OVF_I1_UN OP_LCONV_TO_OVF_I1_UN
 #define OP_PCONV_TO_OVF_I1 OP_LCONV_TO_OVF_I1
 #define OP_PBEQ OP_LBEQ
-#define OP_PCEQ CEE_CEQ
+#define OP_PCEQ OP_LCEQ
 #define OP_STOREP_MEMBASE_REG OP_STOREI8_MEMBASE_REG
 #define OP_STOREP_MEMBASE_IMM OP_STOREI8_MEMBASE_IMM
-#elif defined(NEW_IR)
-/* Can't redefine these since that would break the burg rules */
+#else
 #define OP_PCONST OP_ICONST
 #define OP_PADD OP_IADD
 #define OP_PADD_IMM OP_IADD_IMM
@@ -697,7 +699,23 @@
 #define OP_PCEQ OP_ICEQ
 #define OP_STOREP_MEMBASE_REG OP_STOREI4_MEMBASE_REG
 #define OP_STOREP_MEMBASE_IMM OP_STOREI4_MEMBASE_IMM
+#endif
+
 #else
+
+#if SIZEOF_VOID_P == 8
+#define OP_PCONST OP_I8CONST
+#define OP_PADD OP_LADD
+#define OP_PADD_IMM OP_LADD_IMM
+#define OP_PNEG OP_LNEG
+#define OP_PCONV_TO_U2 OP_LCONV_TO_U2
+#define OP_PCONV_TO_OVF_I1_UN OP_LCONV_TO_OVF_I1_UN
+#define OP_PCONV_TO_OVF_I1 OP_LCONV_TO_OVF_I1
+#define OP_PBEQ OP_LBEQ
+#define OP_PCEQ CEE_CEQ
+#define OP_STOREP_MEMBASE_REG OP_STOREI8_MEMBASE_REG
+#define OP_STOREP_MEMBASE_IMM OP_STOREI8_MEMBASE_IMM
+#else
 #define OP_PCONST OP_ICONST
 #define OP_PADD CEE_ADD
 #define OP_PADD2 OP_IADD
@@ -711,6 +729,8 @@
 #define OP_STOREP_MEMBASE_IMM OP_STOREI4_MEMBASE_IMM
 #endif
 
+#endif
+
 typedef enum {
        STACK_INV,
        STACK_I4,

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to