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