Author: massi
Date: 2006-06-09 02:37:04 -0400 (Fri, 09 Jun 2006)
New Revision: 61592

Added:
   trunk/mono/mono/mini/simple-cee-ops.h
   trunk/mono/mono/mini/simple-mini-ops.h
Removed:
   trunk/mono/mono/mini/ssapre-cee-ops.h
   trunk/mono/mono/mini/ssapre-mini-ops.h
Modified:
   trunk/mono/mono/mini/ChangeLog
   trunk/mono/mono/mini/local-propagation.c
   trunk/mono/mono/mini/ssapre.c
Log:
        * ssapre-cee-ops.h: Renamed as "simple-cee-ops.h"
        * simple-cee-ops.h: Was "ssapre-cee-ops.h" (renamed).
        * ssapre-mini-ops.h: Renamed as "simple-mini-ops.h"
        * simple-mini-ops.h: Was "ssapre-mini-ops.h" (renamed).
        * local-propagation.c: In mono_cprop_invalidate_values use a whitelist
        of opcodes, so that bug 78549 should not happen again.
        * ssapre.c: Updated to use the renamed files.



Modified: trunk/mono/mono/mini/ChangeLog
===================================================================
--- trunk/mono/mono/mini/ChangeLog      2006-06-09 05:57:15 UTC (rev 61591)
+++ trunk/mono/mono/mini/ChangeLog      2006-06-09 06:37:04 UTC (rev 61592)
@@ -1,6 +1,12 @@
 2006-06-08  Massimiliano Mantione  <[EMAIL PROTECTED]>
 
-       * mini.c: Fixed bug 77996, and settled some debugging code.
+       * ssapre-cee-ops.h: Renamed as "simple-cee-ops.h"
+       * simple-cee-ops.h: Was "ssapre-cee-ops.h" (renamed).
+       * ssapre-mini-ops.h: Renamed as "simple-mini-ops.h"
+       * simple-mini-ops.h: Was "ssapre-mini-ops.h" (renamed).
+       * local-propagation.c: In mono_cprop_invalidate_values use a whitelist
+       of opcodes, so that bug 78549 should not happen again.
+       * ssapre.c: Updated to use the renamed files.
 
 2006-06-08  Zoltan Varga  <[EMAIL PROTECTED]>
 

Modified: trunk/mono/mono/mini/local-propagation.c
===================================================================
--- trunk/mono/mono/mini/local-propagation.c    2006-06-09 05:57:15 UTC (rev 
61591)
+++ trunk/mono/mono/mini/local-propagation.c    2006-06-09 06:37:04 UTC (rev 
61592)
@@ -700,15 +700,6 @@
                }
 
                break;
-       case OP_STRLEN:
-               if (tree_mover != NULL) {
-                       if (MONO_DEBUG_TREE_MOVER) {
-                               printf ("Recording side effect because of inst 
");
-                               mono_print_tree_nl (tree);
-                       }
-                       tree_mover->tree_has_side_effects = TRUE;
-               }
-               return;
        case CEE_CALL:
        case OP_CALL_REG:
        case CEE_CALLVIRT:
@@ -768,7 +759,23 @@
                }
                return;
        }
+#define TREEMOVE_SPECIFIC_OPS 1
+#define OPDEF(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) case a1:
+#include "simple-cee-ops.h"
+#undef OPDEF
+#define MINI_OP(a1,a2) case a1:
+#include "simple-mini-ops.h"
+#undef MINI_OP
+#undef TREEMOVE_SPECIFIC_OPS
+               break;
        default:
+               if (tree_mover != NULL) {
+                       if (MONO_DEBUG_TREE_MOVER) {
+                               printf ("Recording side effect because of inst 
");
+                               mono_print_tree_nl (tree);
+                       }
+                       tree_mover->tree_has_side_effects = TRUE;
+               }
                break;
        }
 
@@ -1200,4 +1207,3 @@
                mono_mempool_destroy(tree_mover->pool);
        }
 }
-

Copied: trunk/mono/mono/mini/simple-cee-ops.h (from rev 61501, 
trunk/mono/mono/mini/ssapre-cee-ops.h)
===================================================================
--- trunk/mono/mono/mini/ssapre-cee-ops.h       2006-06-06 19:00:05 UTC (rev 
61501)
+++ trunk/mono/mono/mini/simple-cee-ops.h       2006-06-09 06:37:04 UTC (rev 
61592)
@@ -0,0 +1,125 @@
+
+#if 0
+
+OPDEF(CEE_LDIND_I1, "ldind.i1", PopI, PushI, InlineNone, X, 1, 0xFF, 0x46, 
NEXT)
+OPDEF(CEE_LDIND_U1, "ldind.u1", PopI, PushI, InlineNone, X, 1, 0xFF, 0x47, 
NEXT)
+OPDEF(CEE_LDIND_I2, "ldind.i2", PopI, PushI, InlineNone, X, 1, 0xFF, 0x48, 
NEXT)
+OPDEF(CEE_LDIND_U2, "ldind.u2", PopI, PushI, InlineNone, X, 1, 0xFF, 0x49, 
NEXT)
+OPDEF(CEE_LDIND_I4, "ldind.i4", PopI, PushI, InlineNone, X, 1, 0xFF, 0x4A, 
NEXT)
+OPDEF(CEE_LDIND_U4, "ldind.u4", PopI, PushI, InlineNone, X, 1, 0xFF, 0x4B, 
NEXT)
+OPDEF(CEE_LDIND_I8, "ldind.i8", PopI, PushI8, InlineNone, X, 1, 0xFF, 0x4C, 
NEXT)
+OPDEF(CEE_LDIND_I, "ldind.i", PopI, PushI, InlineNone, X, 1, 0xFF, 0x4D, NEXT)
+OPDEF(CEE_LDIND_R4, "ldind.r4", PopI, PushR4, InlineNone, X, 1, 0xFF, 0x4E, 
NEXT)
+OPDEF(CEE_LDIND_R8, "ldind.r8", PopI, PushR8, InlineNone, X, 1, 0xFF, 0x4F, 
NEXT)
+OPDEF(CEE_LDIND_REF, "ldind.ref", PopI, PushRef, InlineNone, X, 1, 0xFF, 0x50, 
NEXT)
+OPDEF(CEE_LDSTR, "ldstr", Pop0, PushRef, InlineString, X, 1, 0xFF, 0x72, NEXT)
+OPDEF(CEE_STOBJ, "stobj", PopI+Pop1, Push0, InlineType, X, 1, 0xFF, 0x81, NEXT)
+
+OPDEF(CEE_CPOBJ, "cpobj", PopI+PopI, Push0, InlineType, X, 1, 0xFF, 0x70, NEXT)
+OPDEF(CEE_LDOBJ, "ldobj", PopI, Push1, InlineType, X, 1, 0xFF, 0x71, NEXT)
+OPDEF(CEE_CASTCLASS, "castclass", PopRef, PushRef, InlineType, X, 1, 0xFF, 
0x74, NEXT)
+OPDEF(CEE_UNBOX, "unbox", PopRef, PushI, InlineType, X, 1, 0xFF, 0x79, NEXT)
+OPDEF(CEE_UNBOX_ANY, "unbox.any", PopRef, Push1, InlineType, X, 1, 0xFF, 0xA5, 
NEXT)
+
+OPDEF(CEE_MONO_OBJADDR, "mono_objaddr", Pop1, PushI, InlineNone, X, 2, 0xF0, 
0x01, NEXT)
+OPDEF(CEE_MONO_LDPTR, "mono_ldptr", Pop0, PushI, InlineI, X, 2, 0xF0, 0x02, 
NEXT)
+OPDEF(CEE_MONO_VTADDR, "mono_vtaddr", Pop1, PushI, InlineNone, X, 2, 0xF0, 
0x03, NEXT)
+OPDEF(CEE_MONO_LDNATIVEOBJ, "mono_ldnativeobj", PopI, Push1, InlineType, X, 2, 
0xF0, 0x06, RETURN)
+OPDEF(CEE_MONO_CISINST, "mono_cisinst", PopRef, Push1, InlineType, X, 2, 0xF0, 
0x07, NEXT)
+OPDEF(CEE_MONO_CCASTCLASS, "mono_ccastclass", PopRef, Push1, InlineType, X, 2, 
0xF0, 0x08, NEXT)
+
+#endif
+
+#if (SSAPRE_SPECIFIC_OPS)
+OPDEF(CEE_LDARG, "ldarg", Pop0, Push1, InlineVar, X, 2, 0xFE, 0x09, NEXT)
+OPDEF(CEE_LDARGA, "ldarga", Pop0, PushI, InlineVar, X, 2, 0xFE, 0x0A, NEXT)
+OPDEF(CEE_LDLOC, "ldloc", Pop0, Push1, InlineVar, X, 2, 0xFE, 0x0C, NEXT)
+OPDEF(CEE_LDLOCA, "ldloca", Pop0, PushI, InlineVar, X, 2, 0xFE, 0x0D, NEXT)
+#endif
+
+
+#if (TREEMOVE_SPECIFIC_OPS)
+OPDEF(CEE_LDFLD, "ldfld", PopRef, Push1, InlineField, X, 1, 0xFF, 0x7B, NEXT)
+OPDEF(CEE_LDFLDA, "ldflda", PopRef, PushI, InlineField, X, 1, 0xFF, 0x7C, NEXT)
+OPDEF(CEE_STFLD, "stfld", PopRef+Pop1, Push0, InlineField, X, 1, 0xFF, 0x7D, 
NEXT)
+OPDEF(CEE_LDSFLD, "ldsfld", Pop0, Push1, InlineField, X, 1, 0xFF, 0x7E, NEXT)
+OPDEF(CEE_LDSFLDA, "ldsflda", Pop0, PushI, InlineField, X, 1, 0xFF, 0x7F, NEXT)
+OPDEF(CEE_STSFLD, "stsfld", Pop1, Push0, InlineField, X, 1, 0xFF, 0x80, NEXT)
+#endif
+
+
+
+OPDEF(CEE_LDLEN, "ldlen", PopRef, PushI, InlineNone, X, 1, 0xFF, 0x8E, NEXT)
+OPDEF(CEE_LDELEMA, "ldelema", PopRef+PopI, PushI, InlineType, X, 1, 0xFF, 
0x8F, NEXT)
+OPDEF(CEE_LDELEM_I1, "ldelem.i1", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x90, NEXT)
+OPDEF(CEE_LDELEM_U1, "ldelem.u1", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x91, NEXT)
+OPDEF(CEE_LDELEM_I2, "ldelem.i2", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x92, NEXT)
+OPDEF(CEE_LDELEM_U2, "ldelem.u2", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x93, NEXT)
+OPDEF(CEE_LDELEM_I4, "ldelem.i4", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x94, NEXT)
+OPDEF(CEE_LDELEM_U4, "ldelem.u4", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x95, NEXT)
+OPDEF(CEE_LDELEM_I8, "ldelem.i8", PopRef+PopI, PushI8, InlineNone, X, 1, 0xFF, 
0x96, NEXT)
+OPDEF(CEE_LDELEM_I, "ldelem.i", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x97, NEXT)
+OPDEF(CEE_LDELEM_R4, "ldelem.r4", PopRef+PopI, PushR4, InlineNone, X, 1, 0xFF, 
0x98, NEXT)
+OPDEF(CEE_LDELEM_R8, "ldelem.r8", PopRef+PopI, PushR8, InlineNone, X, 1, 0xFF, 
0x99, NEXT)
+OPDEF(CEE_LDELEM_REF, "ldelem.ref", PopRef+PopI, PushRef, InlineNone, X, 1, 
0xFF, 0x9A, NEXT)
+OPDEF(CEE_LDELEM_ANY, "ldelem.any", PopRef+PopI, Push1, InlineType, X, 1, 
0xFF, 0xA3, NEXT)
+
+
+OPDEF(CEE_ADD, "add", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x58, NEXT)
+OPDEF(CEE_SUB, "sub", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x59, NEXT)
+OPDEF(CEE_MUL, "mul", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5A, NEXT)
+OPDEF(CEE_DIV, "div", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5B, NEXT)
+OPDEF(CEE_DIV_UN, "div.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5C, 
NEXT)
+OPDEF(CEE_REM, "rem", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5D, NEXT)
+OPDEF(CEE_REM_UN, "rem.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5E, 
NEXT)
+OPDEF(CEE_AND, "and", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5F, NEXT)
+OPDEF(CEE_OR, "or", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x60, NEXT)
+OPDEF(CEE_XOR, "xor", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x61, NEXT)
+OPDEF(CEE_SHL, "shl", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x62, NEXT)
+OPDEF(CEE_SHR, "shr", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x63, NEXT)
+OPDEF(CEE_SHR_UN, "shr.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x64, 
NEXT)
+OPDEF(CEE_NEG, "neg", Pop1, Push1, InlineNone, X, 1, 0xFF, 0x65, NEXT)
+OPDEF(CEE_NOT, "not", Pop1, Push1, InlineNone, X, 1, 0xFF, 0x66, NEXT)
+OPDEF(CEE_CONV_I1, "conv.i1", Pop1, PushI, InlineNone, X, 1, 0xFF, 0x67, NEXT)
+OPDEF(CEE_CONV_I2, "conv.i2", Pop1, PushI, InlineNone, X, 1, 0xFF, 0x68, NEXT)
+OPDEF(CEE_CONV_I4, "conv.i4", Pop1, PushI, InlineNone, X, 1, 0xFF, 0x69, NEXT)
+OPDEF(CEE_CONV_I8, "conv.i8", Pop1, PushI8, InlineNone, X, 1, 0xFF, 0x6A, NEXT)
+OPDEF(CEE_CONV_R4, "conv.r4", Pop1, PushR4, InlineNone, X, 1, 0xFF, 0x6B, NEXT)
+OPDEF(CEE_CONV_R8, "conv.r8", Pop1, PushR8, InlineNone, X, 1, 0xFF, 0x6C, NEXT)
+OPDEF(CEE_CONV_U4, "conv.u4", Pop1, PushI, InlineNone, X, 1, 0xFF, 0x6D, NEXT)
+OPDEF(CEE_CONV_U8, "conv.u8", Pop1, PushI8, InlineNone, X, 1, 0xFF, 0x6E, NEXT)
+OPDEF(CEE_CONV_R_UN, "conv.r.un", Pop1, PushR8, InlineNone, X, 1, 0xFF, 0x76, 
NEXT)
+
+
+OPDEF(CEE_CONV_OVF_I1_UN, "conv.ovf.i1.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x82, NEXT)
+OPDEF(CEE_CONV_OVF_I2_UN, "conv.ovf.i2.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x83, NEXT)
+OPDEF(CEE_CONV_OVF_I4_UN, "conv.ovf.i4.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x84, NEXT)
+OPDEF(CEE_CONV_OVF_I8_UN, "conv.ovf.i8.un", Pop1, PushI8, InlineNone, X, 1, 
0xFF, 0x85, NEXT)
+OPDEF(CEE_CONV_OVF_U1_UN, "conv.ovf.u1.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x86, NEXT)
+OPDEF(CEE_CONV_OVF_U2_UN, "conv.ovf.u2.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x87, NEXT)
+OPDEF(CEE_CONV_OVF_U4_UN, "conv.ovf.u4.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x88, NEXT)
+OPDEF(CEE_CONV_OVF_U8_UN, "conv.ovf.u8.un", Pop1, PushI8, InlineNone, X, 1, 
0xFF, 0x89, NEXT)
+OPDEF(CEE_CONV_OVF_I_UN, "conv.ovf.i.un", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0x8A, NEXT)
+OPDEF(CEE_CONV_OVF_U_UN, "conv.ovf.u.un", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0x8B, NEXT)
+
+OPDEF(CEE_CONV_OVF_I1, "conv.ovf.i1", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB3, NEXT)
+OPDEF(CEE_CONV_OVF_U1, "conv.ovf.u1", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB4, NEXT)
+OPDEF(CEE_CONV_OVF_I2, "conv.ovf.i2", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB5, NEXT)
+OPDEF(CEE_CONV_OVF_U2, "conv.ovf.u2", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB6, NEXT)
+OPDEF(CEE_CONV_OVF_I4, "conv.ovf.i4", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB7, NEXT)
+OPDEF(CEE_CONV_OVF_U4, "conv.ovf.u4", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB8, NEXT)
+OPDEF(CEE_CONV_OVF_I8, "conv.ovf.i8", Pop1, PushI8, InlineNone, X, 1, 0xFF, 
0xB9, NEXT)
+OPDEF(CEE_CONV_OVF_U8, "conv.ovf.u8", Pop1, PushI8, InlineNone, X, 1, 0xFF, 
0xBA, NEXT)
+
+OPDEF(CEE_CONV_U2, "conv.u2", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD1, NEXT)
+OPDEF(CEE_CONV_U1, "conv.u1", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD2, NEXT)
+OPDEF(CEE_CONV_I, "conv.i", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD3, NEXT)
+OPDEF(CEE_CONV_OVF_I, "conv.ovf.i", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD4, 
NEXT)
+OPDEF(CEE_CONV_OVF_U, "conv.ovf.u", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD5, 
NEXT)
+OPDEF(CEE_ADD_OVF, "add.ovf", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0xD6, 
NEXT)
+OPDEF(CEE_ADD_OVF_UN, "add.ovf.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 
0xD7, NEXT)
+OPDEF(CEE_MUL_OVF, "mul.ovf", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0xD8, 
NEXT)
+OPDEF(CEE_MUL_OVF_UN, "mul.ovf.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 
0xD9, NEXT)
+OPDEF(CEE_SUB_OVF, "sub.ovf", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0xDA, 
NEXT)
+OPDEF(CEE_SUB_OVF_UN, "sub.ovf.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 
0xDB, NEXT)
+OPDEF(CEE_CONV_U, "conv.u", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xE0, NEXT)

Copied: trunk/mono/mono/mini/simple-mini-ops.h (from rev 61501, 
trunk/mono/mono/mini/ssapre-mini-ops.h)
===================================================================
--- trunk/mono/mono/mini/ssapre-mini-ops.h      2006-06-06 19:00:05 UTC (rev 
61501)
+++ trunk/mono/mono/mini/simple-mini-ops.h      2006-06-09 06:37:04 UTC (rev 
61592)
@@ -0,0 +1,242 @@
+
+#if 0
+
+MINI_OP(OP_OBJADDR,    "objaddr")
+MINI_OP(OP_VTADDR,     "vtaddr")
+MINI_OP(OP_RENAME,     "rename")
+
+MINI_OP(OP_GROUP, "group")
+
+MINI_OP(OP_CISINST, "cisinst")
+MINI_OP(OP_CCASTCLASS, "ccastclass")
+
+MINI_OP(OP_GETCHR, "getchar")
+MINI_OP(OP_STRLEN, "strlen")
+
+#endif
+
+MINI_OP(OP_LOAD_MEMBASE,"load_membase")
+MINI_OP(OP_LOADI1_MEMBASE,"loadi1_membase")
+MINI_OP(OP_LOADU1_MEMBASE,"loadu1_membase")
+MINI_OP(OP_LOADI2_MEMBASE,"loadi2_membase")
+MINI_OP(OP_LOADU2_MEMBASE,"loadu2_membase")
+MINI_OP(OP_LOADI4_MEMBASE,"loadi4_membase")
+MINI_OP(OP_LOADU4_MEMBASE,"loadu4_membase")
+MINI_OP(OP_LOADI8_MEMBASE,"loadi8_membase")
+MINI_OP(OP_LOADR4_MEMBASE,"loadr4_membase")
+MINI_OP(OP_LOADR8_MEMBASE,"loadr8_membase")
+MINI_OP(OP_LOADR8_SPILL_MEMBASE,"loadr8_spill_membase")
+MINI_OP(OP_LOADU4_MEM,"loadu4_mem")
+
+MINI_OP(OP_LDELEMA2D, "getldelema2")
+
+MINI_OP(OP_GETTYPE, "gettype")
+MINI_OP(OP_GETHASHCODE, "gethashcode")
+
+
+
+MINI_OP(OP_ADD_IMM,    "add_imm")
+MINI_OP(OP_SUB_IMM,    "sub_imm")
+MINI_OP(OP_MUL_IMM,    "mul_imm")
+MINI_OP(OP_DIV_IMM,    "div_imm")
+MINI_OP(OP_DIV_UN_IMM, "div_un_imm")
+MINI_OP(OP_REM_IMM,    "rem_imm")
+MINI_OP(OP_REM_UN_IMM, "rem_un_imm")
+MINI_OP(OP_AND_IMM,    "and_imm")
+MINI_OP(OP_OR_IMM,     "or_imm")
+MINI_OP(OP_XOR_IMM,    "xor_imm")
+MINI_OP(OP_SHL_IMM,    "shl_imm")
+MINI_OP(OP_SHR_IMM,    "shr_imm")
+MINI_OP(OP_SHR_UN_IMM, "shr_un_imm")
+
+MINI_OP(OP_LADD,    "long_add")
+MINI_OP(OP_LSUB,    "long_sub")
+MINI_OP(OP_LMUL,    "long_mul")
+MINI_OP(OP_LDIV,    "long_div")
+MINI_OP(OP_LDIV_UN, "long_div_un")
+MINI_OP(OP_LREM,    "long_rem")
+MINI_OP(OP_LREM_UN, "long_rem_un")
+MINI_OP(OP_LAND,    "long_and")
+MINI_OP(OP_LOR,     "long_or")
+MINI_OP(OP_LXOR,    "long_xor")
+MINI_OP(OP_LSHL,    "long_shl")
+MINI_OP(OP_LSHR,    "long_shr")
+MINI_OP(OP_LSHR_UN, "long_shr_un")
+
+MINI_OP(OP_LNEG,       "long_neg")
+MINI_OP(OP_LNOT,       "long_not")
+MINI_OP(OP_LCONV_TO_I1,"long_conv_to_i1")
+MINI_OP(OP_LCONV_TO_I2,"long_conv_to_i2")
+MINI_OP(OP_LCONV_TO_I4,"long_conv_to_i4")
+MINI_OP(OP_LCONV_TO_I8,"long_conv_to_i8")
+MINI_OP(OP_LCONV_TO_R4,"long_conv_to_r4")
+MINI_OP(OP_LCONV_TO_R8,"long_conv_to_r8")
+MINI_OP(OP_LCONV_TO_U4,"long_conv_to_u4")
+MINI_OP(OP_LCONV_TO_U8,"long_conv_to_u8")
+
+MINI_OP(OP_LCONV_TO_U2,   "long_conv_to_u2")
+MINI_OP(OP_LCONV_TO_U1,   "long_conv_to_u1")
+MINI_OP(OP_LCONV_TO_I,    "long_conv_to_i")
+MINI_OP(OP_LCONV_TO_OVF_I,"long_conv_to_ovf_i")
+MINI_OP(OP_LCONV_TO_OVF_U,"long_conv_to_ovf_u")
+MINI_OP(OP_LADD_OVF,      "long_add_ovf")
+MINI_OP(OP_LADD_OVF_UN,   "long_add_ovf_un")
+MINI_OP(OP_LMUL_OVF,      "long_mul_ovf")
+MINI_OP(OP_LMUL_OVF_UN,   "long_mul_ovf_un")
+MINI_OP(OP_LSUB_OVF,      "long_sub_ovf")
+MINI_OP(OP_LSUB_OVF_UN,   "long_sub_ovf_un")
+
+MINI_OP(OP_LCONV_TO_OVF_I1_UN,"long_conv_to_ovf_i1_un")
+MINI_OP(OP_LCONV_TO_OVF_I2_UN,"long_conv_to_ovf_i2_un")
+MINI_OP(OP_LCONV_TO_OVF_I4_UN,"long_conv_to_ovf_i4_un")
+MINI_OP(OP_LCONV_TO_OVF_I8_UN,"long_conv_to_ovf_i8_un")
+MINI_OP(OP_LCONV_TO_OVF_U1_UN,"long_conv_to_ovf_u1_un")
+MINI_OP(OP_LCONV_TO_OVF_U2_UN,"long_conv_to_ovf_u2_un")
+MINI_OP(OP_LCONV_TO_OVF_U4_UN,"long_conv_to_ovf_u4_un")
+MINI_OP(OP_LCONV_TO_OVF_U8_UN,"long_conv_to_ovf_u8_un")
+MINI_OP(OP_LCONV_TO_OVF_I_UN, "long_conv_to_ovf_i_un")
+MINI_OP(OP_LCONV_TO_OVF_U_UN, "long_conv_to_ovf_u_un")
+
+MINI_OP(OP_LCONV_TO_OVF_I1,"long_conv_to_ovf_i1")
+MINI_OP(OP_LCONV_TO_OVF_U1,"long_conv_to_ovf_u1")
+MINI_OP(OP_LCONV_TO_OVF_I2,"long_conv_to_ovf_i2")
+MINI_OP(OP_LCONV_TO_OVF_U2,"long_conv_to_ovf_u2")
+MINI_OP(OP_LCONV_TO_OVF_I4,"long_conv_to_ovf_i4")
+MINI_OP(OP_LCONV_TO_OVF_U4,"long_conv_to_ovf_u4")
+MINI_OP(OP_LCONV_TO_OVF_I8,"long_conv_to_ovf_i8")
+MINI_OP(OP_LCONV_TO_OVF_U8,"long_conv_to_ovf_u8")
+
+
+MINI_OP(OP_LCONV_TO_R_UN,"long_conv_to_r_un")
+MINI_OP(OP_LCONV_TO_U,   "long_conv_to_u")
+MINI_OP(OP_LSHR_IMM,    "long_shr_imm")
+MINI_OP(OP_LSHR_UN_IMM,  "long_shr_un_imm")
+MINI_OP(OP_LSHL_IMM,     "long_shl_imm")
+MINI_OP(OP_LADD_IMM,     "long_add_imm")
+MINI_OP(OP_LSUB_IMM,     "long_sub_imm")
+
+
+MINI_OP(OP_IADD,    "int_add")
+MINI_OP(OP_ISUB,    "int_sub")
+MINI_OP(OP_IMUL,    "int_mul")
+MINI_OP(OP_IMUL_OVF,    "int_mul_ovf")
+MINI_OP(OP_IMUL_OVF_UN, "int_mul_ovf_un")
+MINI_OP(OP_IDIV,    "int_div")
+MINI_OP(OP_IDIV_UN, "int_div_un")
+MINI_OP(OP_IREM,    "int_rem")
+MINI_OP(OP_IREM_UN, "int_rem_un")
+MINI_OP(OP_IAND,    "int_and")
+MINI_OP(OP_IOR,     "int_or")
+MINI_OP(OP_IXOR,    "int_xor")
+MINI_OP(OP_ISHL,    "int_shl")
+MINI_OP(OP_ISHR,    "int_shr")
+MINI_OP(OP_ISHR_UN, "int_shr_un")
+MINI_OP(OP_IADC,     "int_adc")
+MINI_OP(OP_IADC_IMM, "int_adc_imm")
+MINI_OP(OP_ISBB,     "int_sbb")
+MINI_OP(OP_ISBB_IMM, "int_sbb_imm")
+MINI_OP(OP_IADDCC,   "int_addcc")
+MINI_OP(OP_ISUBCC,   "int_subcc")
+
+MINI_OP(OP_IADD_IMM,    "int_add_imm")
+MINI_OP(OP_ISUB_IMM,    "int_sub_imm")
+MINI_OP(OP_IMUL_IMM,    "int_mul_imm")
+MINI_OP(OP_IDIV_IMM,    "int_div_imm")
+MINI_OP(OP_IDIV_UN_IMM, "int_div_un_imm")
+MINI_OP(OP_IREM_IMM,    "int_rem_imm")
+MINI_OP(OP_IREM_UN_IMM, "int_rem_un_imm")
+MINI_OP(OP_IAND_IMM,    "int_and_imm")
+MINI_OP(OP_IOR_IMM,     "int_or_imm")
+MINI_OP(OP_IXOR_IMM,    "int_xor_imm")
+MINI_OP(OP_ISHL_IMM,    "int_shl_imm")
+MINI_OP(OP_ISHR_IMM,    "int_shr_imm")
+MINI_OP(OP_ISHR_UN_IMM, "int_shr_un_imm")
+
+MINI_OP(OP_INEG,       "int_neg")
+MINI_OP(OP_INOT,       "int_not")
+
+MINI_OP(OP_LONG_SHRUN_32, "long_shr_un_32")
+
+MINI_OP(OP_FADD,   "float_add")
+MINI_OP(OP_FSUB,   "float_sub")
+MINI_OP(OP_FMUL,   "float_mul")
+MINI_OP(OP_FDIV,   "float_div")
+MINI_OP(OP_FDIV_UN,"float_div_un")
+MINI_OP(OP_FREM,   "float_rem")
+MINI_OP(OP_FREM_UN,"float_rem_un")
+
+MINI_OP(OP_FNEG,       "float_neg")
+MINI_OP(OP_FNOT,       "float_not")
+MINI_OP(OP_FCONV_TO_I1,"float_conv_to_i1")
+MINI_OP(OP_FCONV_TO_I2,"float_conv_to_i2")
+MINI_OP(OP_FCONV_TO_I4,"float_conv_to_i4")
+MINI_OP(OP_FCONV_TO_I8,"float_conv_to_i8")
+MINI_OP(OP_FCONV_TO_R4,"float_conv_to_r4")
+MINI_OP(OP_FCONV_TO_R8,"float_conv_to_r8")
+MINI_OP(OP_FCONV_TO_U4,"float_conv_to_u4")
+MINI_OP(OP_FCONV_TO_U8,"float_conv_to_u8")
+
+MINI_OP(OP_FCONV_TO_U2,   "float_conv_to_u2")
+MINI_OP(OP_FCONV_TO_U1,   "float_conv_to_u1")
+MINI_OP(OP_FCONV_TO_I,    "float_conv_to_i")
+MINI_OP(OP_FCONV_TO_OVF_I,"float_conv_to_ovf_i")
+MINI_OP(OP_FCONV_TO_OVF_U,"float_conv_to_ovd_u")
+MINI_OP(OP_FADD_OVF,      "float_add_ovf")
+MINI_OP(OP_FADD_OVF_UN,   "float_add_ovf_un")
+MINI_OP(OP_FMUL_OVF,      "float_mul_ovf")
+MINI_OP(OP_FMUL_OVF_UN,   "float_mul_ovf_un")
+MINI_OP(OP_FSUB_OVF,      "float_sub_ovf")
+MINI_OP(OP_FSUB_OVF_UN,   "float_sub_ovf_un")
+
+MINI_OP(OP_FCONV_TO_OVF_I1_UN,"float_conv_to_ovf_i1_un")
+MINI_OP(OP_FCONV_TO_OVF_I2_UN,"float_conv_to_ovf_i2_un")
+MINI_OP(OP_FCONV_TO_OVF_I4_UN,"float_conv_to_ovf_i4_un")
+MINI_OP(OP_FCONV_TO_OVF_I8_UN,"float_conv_to_ovf_i8_un")
+MINI_OP(OP_FCONV_TO_OVF_U1_UN,"float_conv_to_ovf_u1_un")
+MINI_OP(OP_FCONV_TO_OVF_U2_UN,"float_conv_to_ovf_u2_un")
+MINI_OP(OP_FCONV_TO_OVF_U4_UN,"float_conv_to_ovf_u4_un")
+MINI_OP(OP_FCONV_TO_OVF_U8_UN,"float_conv_to_ovf_u8_un")
+MINI_OP(OP_FCONV_TO_OVF_I_UN, "float_conv_to_ovf_i_un")
+MINI_OP(OP_FCONV_TO_OVF_U_UN, "float_conv_to_ovf_u_un")
+
+MINI_OP(OP_FCONV_TO_OVF_I1,"float_conv_to_ovf_i1")
+MINI_OP(OP_FCONV_TO_OVF_U1,"float_conv_to_ovf_u1")
+MINI_OP(OP_FCONV_TO_OVF_I2,"float_conv_to_ovf_i2")
+MINI_OP(OP_FCONV_TO_OVF_U2,"float_conv_to_ovf_u2")
+MINI_OP(OP_FCONV_TO_OVF_I4,"float_conv_to_ovf_i4")
+MINI_OP(OP_FCONV_TO_OVF_U4,"float_conv_to_ovf_u4")
+MINI_OP(OP_FCONV_TO_OVF_I8,"float_conv_to_ovf_i8")
+MINI_OP(OP_FCONV_TO_OVF_U8,"float_conv_to_ovf_u8")
+
+
+MINI_OP(OP_FCONV_TO_U, "float_conv_to_u")
+
+MINI_OP(OP_BIGMUL, "op_bigmul")
+MINI_OP(OP_BIGMUL_UN, "op_bigmul_un")
+
+MINI_OP(OP_ADC,     "adc")
+MINI_OP(OP_ADC_IMM, "adc_imm")
+MINI_OP(OP_SBB,     "sbb")
+MINI_OP(OP_SBB_IMM, "sbb_imm")
+MINI_OP(OP_ADDCC,   "addcc")
+MINI_OP(OP_ADDCC_IMM,   "addcc_imm")
+MINI_OP(OP_SUBCC,   "subcc")
+MINI_OP(OP_SUBCC_IMM,   "subcc_imm")
+MINI_OP(OP_BR_REG,  "br_reg")
+MINI_OP(OP_SEXT_I1,  "sext_i1")
+MINI_OP(OP_SEXT_I2,  "sext_i2")
+MINI_OP(OP_CNE,      "cne")
+
+
+MINI_OP(OP_ADD_OVF_CARRY,   "add_ovf_carry")
+MINI_OP(OP_SUB_OVF_CARRY,   "sub_ovf_carry")
+MINI_OP(OP_ADD_OVF_UN_CARRY,   "add_ovf_un_carry")
+MINI_OP(OP_SUB_OVF_UN_CARRY,   "sub_ovf_un_carry")
+
+MINI_OP(OP_SIN,     "sin")
+MINI_OP(OP_COS,     "cos")
+MINI_OP(OP_ABS,     "abs")
+MINI_OP(OP_TAN,     "tan")
+MINI_OP(OP_ATAN,    "atan")
+MINI_OP(OP_SQRT,    "sqrt")
+

Deleted: trunk/mono/mono/mini/ssapre-cee-ops.h
===================================================================
--- trunk/mono/mono/mini/ssapre-cee-ops.h       2006-06-09 05:57:15 UTC (rev 
61591)
+++ trunk/mono/mono/mini/ssapre-cee-ops.h       2006-06-09 06:37:04 UTC (rev 
61592)
@@ -1,120 +0,0 @@
-
-#if 0
-
-OPDEF(CEE_LDIND_I1, "ldind.i1", PopI, PushI, InlineNone, X, 1, 0xFF, 0x46, 
NEXT)
-OPDEF(CEE_LDIND_U1, "ldind.u1", PopI, PushI, InlineNone, X, 1, 0xFF, 0x47, 
NEXT)
-OPDEF(CEE_LDIND_I2, "ldind.i2", PopI, PushI, InlineNone, X, 1, 0xFF, 0x48, 
NEXT)
-OPDEF(CEE_LDIND_U2, "ldind.u2", PopI, PushI, InlineNone, X, 1, 0xFF, 0x49, 
NEXT)
-OPDEF(CEE_LDIND_I4, "ldind.i4", PopI, PushI, InlineNone, X, 1, 0xFF, 0x4A, 
NEXT)
-OPDEF(CEE_LDIND_U4, "ldind.u4", PopI, PushI, InlineNone, X, 1, 0xFF, 0x4B, 
NEXT)
-OPDEF(CEE_LDIND_I8, "ldind.i8", PopI, PushI8, InlineNone, X, 1, 0xFF, 0x4C, 
NEXT)
-OPDEF(CEE_LDIND_I, "ldind.i", PopI, PushI, InlineNone, X, 1, 0xFF, 0x4D, NEXT)
-OPDEF(CEE_LDIND_R4, "ldind.r4", PopI, PushR4, InlineNone, X, 1, 0xFF, 0x4E, 
NEXT)
-OPDEF(CEE_LDIND_R8, "ldind.r8", PopI, PushR8, InlineNone, X, 1, 0xFF, 0x4F, 
NEXT)
-OPDEF(CEE_LDIND_REF, "ldind.ref", PopI, PushRef, InlineNone, X, 1, 0xFF, 0x50, 
NEXT)
-OPDEF(CEE_LDSTR, "ldstr", Pop0, PushRef, InlineString, X, 1, 0xFF, 0x72, NEXT)
-
-OPDEF(CEE_CPOBJ, "cpobj", PopI+PopI, Push0, InlineType, X, 1, 0xFF, 0x70, NEXT)
-OPDEF(CEE_LDOBJ, "ldobj", PopI, Push1, InlineType, X, 1, 0xFF, 0x71, NEXT)
-OPDEF(CEE_CASTCLASS, "castclass", PopRef, PushRef, InlineType, X, 1, 0xFF, 
0x74, NEXT)
-OPDEF(CEE_UNBOX, "unbox", PopRef, PushI, InlineType, X, 1, 0xFF, 0x79, NEXT)
-OPDEF(CEE_UNBOX_ANY, "unbox.any", PopRef, Push1, InlineType, X, 1, 0xFF, 0xA5, 
NEXT)
-OPDEF(CEE_LDFLD, "ldfld", PopRef, Push1, InlineField, X, 1, 0xFF, 0x7B, NEXT)
-OPDEF(CEE_LDFLDA, "ldflda", PopRef, PushI, InlineField, X, 1, 0xFF, 0x7C, NEXT)
-OPDEF(CEE_STFLD, "stfld", PopRef+Pop1, Push0, InlineField, X, 1, 0xFF, 0x7D, 
NEXT)
-OPDEF(CEE_LDSFLD, "ldsfld", Pop0, Push1, InlineField, X, 1, 0xFF, 0x7E, NEXT)
-OPDEF(CEE_LDSFLDA, "ldsflda", Pop0, PushI, InlineField, X, 1, 0xFF, 0x7F, NEXT)
-OPDEF(CEE_STSFLD, "stsfld", Pop1, Push0, InlineField, X, 1, 0xFF, 0x80, NEXT)
-OPDEF(CEE_STOBJ, "stobj", PopI+Pop1, Push0, InlineType, X, 1, 0xFF, 0x81, NEXT)
-
-OPDEF(CEE_MONO_OBJADDR, "mono_objaddr", Pop1, PushI, InlineNone, X, 2, 0xF0, 
0x01, NEXT)
-OPDEF(CEE_MONO_LDPTR, "mono_ldptr", Pop0, PushI, InlineI, X, 2, 0xF0, 0x02, 
NEXT)
-OPDEF(CEE_MONO_VTADDR, "mono_vtaddr", Pop1, PushI, InlineNone, X, 2, 0xF0, 
0x03, NEXT)
-OPDEF(CEE_MONO_LDNATIVEOBJ, "mono_ldnativeobj", PopI, Push1, InlineType, X, 2, 
0xF0, 0x06, RETURN)
-OPDEF(CEE_MONO_CISINST, "mono_cisinst", PopRef, Push1, InlineType, X, 2, 0xF0, 
0x07, NEXT)
-OPDEF(CEE_MONO_CCASTCLASS, "mono_ccastclass", PopRef, Push1, InlineType, X, 2, 
0xF0, 0x08, NEXT)
-
-#endif
-
-
-OPDEF(CEE_LDARG, "ldarg", Pop0, Push1, InlineVar, X, 2, 0xFE, 0x09, NEXT)
-OPDEF(CEE_LDARGA, "ldarga", Pop0, PushI, InlineVar, X, 2, 0xFE, 0x0A, NEXT)
-
-OPDEF(CEE_LDLOC, "ldloc", Pop0, Push1, InlineVar, X, 2, 0xFE, 0x0C, NEXT)
-OPDEF(CEE_LDLOCA, "ldloca", Pop0, PushI, InlineVar, X, 2, 0xFE, 0x0D, NEXT)
-
-
-OPDEF(CEE_LDLEN, "ldlen", PopRef, PushI, InlineNone, X, 1, 0xFF, 0x8E, NEXT)
-OPDEF(CEE_LDELEMA, "ldelema", PopRef+PopI, PushI, InlineType, X, 1, 0xFF, 
0x8F, NEXT)
-OPDEF(CEE_LDELEM_I1, "ldelem.i1", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x90, NEXT)
-OPDEF(CEE_LDELEM_U1, "ldelem.u1", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x91, NEXT)
-OPDEF(CEE_LDELEM_I2, "ldelem.i2", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x92, NEXT)
-OPDEF(CEE_LDELEM_U2, "ldelem.u2", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x93, NEXT)
-OPDEF(CEE_LDELEM_I4, "ldelem.i4", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x94, NEXT)
-OPDEF(CEE_LDELEM_U4, "ldelem.u4", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x95, NEXT)
-OPDEF(CEE_LDELEM_I8, "ldelem.i8", PopRef+PopI, PushI8, InlineNone, X, 1, 0xFF, 
0x96, NEXT)
-OPDEF(CEE_LDELEM_I, "ldelem.i", PopRef+PopI, PushI, InlineNone, X, 1, 0xFF, 
0x97, NEXT)
-OPDEF(CEE_LDELEM_R4, "ldelem.r4", PopRef+PopI, PushR4, InlineNone, X, 1, 0xFF, 
0x98, NEXT)
-OPDEF(CEE_LDELEM_R8, "ldelem.r8", PopRef+PopI, PushR8, InlineNone, X, 1, 0xFF, 
0x99, NEXT)
-OPDEF(CEE_LDELEM_REF, "ldelem.ref", PopRef+PopI, PushRef, InlineNone, X, 1, 
0xFF, 0x9A, NEXT)
-OPDEF(CEE_LDELEM_ANY, "ldelem.any", PopRef+PopI, Push1, InlineType, X, 1, 
0xFF, 0xA3, NEXT)
-
-
-OPDEF(CEE_ADD, "add", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x58, NEXT)
-OPDEF(CEE_SUB, "sub", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x59, NEXT)
-OPDEF(CEE_MUL, "mul", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5A, NEXT)
-OPDEF(CEE_DIV, "div", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5B, NEXT)
-OPDEF(CEE_DIV_UN, "div.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5C, 
NEXT)
-OPDEF(CEE_REM, "rem", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5D, NEXT)
-OPDEF(CEE_REM_UN, "rem.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5E, 
NEXT)
-OPDEF(CEE_AND, "and", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x5F, NEXT)
-OPDEF(CEE_OR, "or", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x60, NEXT)
-OPDEF(CEE_XOR, "xor", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x61, NEXT)
-OPDEF(CEE_SHL, "shl", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x62, NEXT)
-OPDEF(CEE_SHR, "shr", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x63, NEXT)
-OPDEF(CEE_SHR_UN, "shr.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0x64, 
NEXT)
-OPDEF(CEE_NEG, "neg", Pop1, Push1, InlineNone, X, 1, 0xFF, 0x65, NEXT)
-OPDEF(CEE_NOT, "not", Pop1, Push1, InlineNone, X, 1, 0xFF, 0x66, NEXT)
-OPDEF(CEE_CONV_I1, "conv.i1", Pop1, PushI, InlineNone, X, 1, 0xFF, 0x67, NEXT)
-OPDEF(CEE_CONV_I2, "conv.i2", Pop1, PushI, InlineNone, X, 1, 0xFF, 0x68, NEXT)
-OPDEF(CEE_CONV_I4, "conv.i4", Pop1, PushI, InlineNone, X, 1, 0xFF, 0x69, NEXT)
-OPDEF(CEE_CONV_I8, "conv.i8", Pop1, PushI8, InlineNone, X, 1, 0xFF, 0x6A, NEXT)
-OPDEF(CEE_CONV_R4, "conv.r4", Pop1, PushR4, InlineNone, X, 1, 0xFF, 0x6B, NEXT)
-OPDEF(CEE_CONV_R8, "conv.r8", Pop1, PushR8, InlineNone, X, 1, 0xFF, 0x6C, NEXT)
-OPDEF(CEE_CONV_U4, "conv.u4", Pop1, PushI, InlineNone, X, 1, 0xFF, 0x6D, NEXT)
-OPDEF(CEE_CONV_U8, "conv.u8", Pop1, PushI8, InlineNone, X, 1, 0xFF, 0x6E, NEXT)
-OPDEF(CEE_CONV_R_UN, "conv.r.un", Pop1, PushR8, InlineNone, X, 1, 0xFF, 0x76, 
NEXT)
-
-
-OPDEF(CEE_CONV_OVF_I1_UN, "conv.ovf.i1.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x82, NEXT)
-OPDEF(CEE_CONV_OVF_I2_UN, "conv.ovf.i2.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x83, NEXT)
-OPDEF(CEE_CONV_OVF_I4_UN, "conv.ovf.i4.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x84, NEXT)
-OPDEF(CEE_CONV_OVF_I8_UN, "conv.ovf.i8.un", Pop1, PushI8, InlineNone, X, 1, 
0xFF, 0x85, NEXT)
-OPDEF(CEE_CONV_OVF_U1_UN, "conv.ovf.u1.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x86, NEXT)
-OPDEF(CEE_CONV_OVF_U2_UN, "conv.ovf.u2.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x87, NEXT)
-OPDEF(CEE_CONV_OVF_U4_UN, "conv.ovf.u4.un", Pop1, PushI, InlineNone, X, 1, 
0xFF, 0x88, NEXT)
-OPDEF(CEE_CONV_OVF_U8_UN, "conv.ovf.u8.un", Pop1, PushI8, InlineNone, X, 1, 
0xFF, 0x89, NEXT)
-OPDEF(CEE_CONV_OVF_I_UN, "conv.ovf.i.un", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0x8A, NEXT)
-OPDEF(CEE_CONV_OVF_U_UN, "conv.ovf.u.un", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0x8B, NEXT)
-
-OPDEF(CEE_CONV_OVF_I1, "conv.ovf.i1", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB3, NEXT)
-OPDEF(CEE_CONV_OVF_U1, "conv.ovf.u1", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB4, NEXT)
-OPDEF(CEE_CONV_OVF_I2, "conv.ovf.i2", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB5, NEXT)
-OPDEF(CEE_CONV_OVF_U2, "conv.ovf.u2", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB6, NEXT)
-OPDEF(CEE_CONV_OVF_I4, "conv.ovf.i4", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB7, NEXT)
-OPDEF(CEE_CONV_OVF_U4, "conv.ovf.u4", Pop1, PushI, InlineNone, X, 1, 0xFF, 
0xB8, NEXT)
-OPDEF(CEE_CONV_OVF_I8, "conv.ovf.i8", Pop1, PushI8, InlineNone, X, 1, 0xFF, 
0xB9, NEXT)
-OPDEF(CEE_CONV_OVF_U8, "conv.ovf.u8", Pop1, PushI8, InlineNone, X, 1, 0xFF, 
0xBA, NEXT)
-
-OPDEF(CEE_CONV_U2, "conv.u2", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD1, NEXT)
-OPDEF(CEE_CONV_U1, "conv.u1", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD2, NEXT)
-OPDEF(CEE_CONV_I, "conv.i", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD3, NEXT)
-OPDEF(CEE_CONV_OVF_I, "conv.ovf.i", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD4, 
NEXT)
-OPDEF(CEE_CONV_OVF_U, "conv.ovf.u", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xD5, 
NEXT)
-OPDEF(CEE_ADD_OVF, "add.ovf", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0xD6, 
NEXT)
-OPDEF(CEE_ADD_OVF_UN, "add.ovf.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 
0xD7, NEXT)
-OPDEF(CEE_MUL_OVF, "mul.ovf", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0xD8, 
NEXT)
-OPDEF(CEE_MUL_OVF_UN, "mul.ovf.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 
0xD9, NEXT)
-OPDEF(CEE_SUB_OVF, "sub.ovf", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 0xDA, 
NEXT)
-OPDEF(CEE_SUB_OVF_UN, "sub.ovf.un", Pop1+Pop1, Push1, InlineNone, X, 1, 0xFF, 
0xDB, NEXT)
-OPDEF(CEE_CONV_U, "conv.u", Pop1, PushI, InlineNone, X, 1, 0xFF, 0xE0, NEXT)

Deleted: trunk/mono/mono/mini/ssapre-mini-ops.h
===================================================================
--- trunk/mono/mono/mini/ssapre-mini-ops.h      2006-06-09 05:57:15 UTC (rev 
61591)
+++ trunk/mono/mono/mini/ssapre-mini-ops.h      2006-06-09 06:37:04 UTC (rev 
61592)
@@ -1,242 +0,0 @@
-
-#if 0
-
-MINI_OP(OP_OBJADDR,    "objaddr")
-MINI_OP(OP_VTADDR,     "vtaddr")
-MINI_OP(OP_RENAME,     "rename")
-
-MINI_OP(OP_GROUP, "group")
-
-MINI_OP(OP_CISINST, "cisinst")
-MINI_OP(OP_CCASTCLASS, "ccastclass")
-
-#endif
-
-MINI_OP(OP_LOAD_MEMBASE,"load_membase")
-MINI_OP(OP_LOADI1_MEMBASE,"loadi1_membase")
-MINI_OP(OP_LOADU1_MEMBASE,"loadu1_membase")
-MINI_OP(OP_LOADI2_MEMBASE,"loadi2_membase")
-MINI_OP(OP_LOADU2_MEMBASE,"loadu2_membase")
-MINI_OP(OP_LOADI4_MEMBASE,"loadi4_membase")
-MINI_OP(OP_LOADU4_MEMBASE,"loadu4_membase")
-MINI_OP(OP_LOADI8_MEMBASE,"loadi8_membase")
-MINI_OP(OP_LOADR4_MEMBASE,"loadr4_membase")
-MINI_OP(OP_LOADR8_MEMBASE,"loadr8_membase")
-MINI_OP(OP_LOADR8_SPILL_MEMBASE,"loadr8_spill_membase")
-MINI_OP(OP_LOADU4_MEM,"loadu4_mem")
-
-MINI_OP(OP_LDELEMA2D, "getldelema2")
-
-MINI_OP(OP_GETTYPE, "gettype")
-MINI_OP(OP_GETHASHCODE, "gethashcode")
-
-
-
-MINI_OP(OP_ADD_IMM,    "add_imm")
-MINI_OP(OP_SUB_IMM,    "sub_imm")
-MINI_OP(OP_MUL_IMM,    "mul_imm")
-MINI_OP(OP_DIV_IMM,    "div_imm")
-MINI_OP(OP_DIV_UN_IMM, "div_un_imm")
-MINI_OP(OP_REM_IMM,    "rem_imm")
-MINI_OP(OP_REM_UN_IMM, "rem_un_imm")
-MINI_OP(OP_AND_IMM,    "and_imm")
-MINI_OP(OP_OR_IMM,     "or_imm")
-MINI_OP(OP_XOR_IMM,    "xor_imm")
-MINI_OP(OP_SHL_IMM,    "shl_imm")
-MINI_OP(OP_SHR_IMM,    "shr_imm")
-MINI_OP(OP_SHR_UN_IMM, "shr_un_imm")
-
-MINI_OP(OP_LADD,    "long_add")
-MINI_OP(OP_LSUB,    "long_sub")
-MINI_OP(OP_LMUL,    "long_mul")
-MINI_OP(OP_LDIV,    "long_div")
-MINI_OP(OP_LDIV_UN, "long_div_un")
-MINI_OP(OP_LREM,    "long_rem")
-MINI_OP(OP_LREM_UN, "long_rem_un")
-MINI_OP(OP_LAND,    "long_and")
-MINI_OP(OP_LOR,     "long_or")
-MINI_OP(OP_LXOR,    "long_xor")
-MINI_OP(OP_LSHL,    "long_shl")
-MINI_OP(OP_LSHR,    "long_shr")
-MINI_OP(OP_LSHR_UN, "long_shr_un")
-
-MINI_OP(OP_LNEG,       "long_neg")
-MINI_OP(OP_LNOT,       "long_not")
-MINI_OP(OP_LCONV_TO_I1,"long_conv_to_i1")
-MINI_OP(OP_LCONV_TO_I2,"long_conv_to_i2")
-MINI_OP(OP_LCONV_TO_I4,"long_conv_to_i4")
-MINI_OP(OP_LCONV_TO_I8,"long_conv_to_i8")
-MINI_OP(OP_LCONV_TO_R4,"long_conv_to_r4")
-MINI_OP(OP_LCONV_TO_R8,"long_conv_to_r8")
-MINI_OP(OP_LCONV_TO_U4,"long_conv_to_u4")
-MINI_OP(OP_LCONV_TO_U8,"long_conv_to_u8")
-
-MINI_OP(OP_LCONV_TO_U2,   "long_conv_to_u2")
-MINI_OP(OP_LCONV_TO_U1,   "long_conv_to_u1")
-MINI_OP(OP_LCONV_TO_I,    "long_conv_to_i")
-MINI_OP(OP_LCONV_TO_OVF_I,"long_conv_to_ovf_i")
-MINI_OP(OP_LCONV_TO_OVF_U,"long_conv_to_ovf_u")
-MINI_OP(OP_LADD_OVF,      "long_add_ovf")
-MINI_OP(OP_LADD_OVF_UN,   "long_add_ovf_un")
-MINI_OP(OP_LMUL_OVF,      "long_mul_ovf")
-MINI_OP(OP_LMUL_OVF_UN,   "long_mul_ovf_un")
-MINI_OP(OP_LSUB_OVF,      "long_sub_ovf")
-MINI_OP(OP_LSUB_OVF_UN,   "long_sub_ovf_un")
-
-MINI_OP(OP_LCONV_TO_OVF_I1_UN,"long_conv_to_ovf_i1_un")
-MINI_OP(OP_LCONV_TO_OVF_I2_UN,"long_conv_to_ovf_i2_un")
-MINI_OP(OP_LCONV_TO_OVF_I4_UN,"long_conv_to_ovf_i4_un")
-MINI_OP(OP_LCONV_TO_OVF_I8_UN,"long_conv_to_ovf_i8_un")
-MINI_OP(OP_LCONV_TO_OVF_U1_UN,"long_conv_to_ovf_u1_un")
-MINI_OP(OP_LCONV_TO_OVF_U2_UN,"long_conv_to_ovf_u2_un")
-MINI_OP(OP_LCONV_TO_OVF_U4_UN,"long_conv_to_ovf_u4_un")
-MINI_OP(OP_LCONV_TO_OVF_U8_UN,"long_conv_to_ovf_u8_un")
-MINI_OP(OP_LCONV_TO_OVF_I_UN, "long_conv_to_ovf_i_un")
-MINI_OP(OP_LCONV_TO_OVF_U_UN, "long_conv_to_ovf_u_un")
-
-MINI_OP(OP_LCONV_TO_OVF_I1,"long_conv_to_ovf_i1")
-MINI_OP(OP_LCONV_TO_OVF_U1,"long_conv_to_ovf_u1")
-MINI_OP(OP_LCONV_TO_OVF_I2,"long_conv_to_ovf_i2")
-MINI_OP(OP_LCONV_TO_OVF_U2,"long_conv_to_ovf_u2")
-MINI_OP(OP_LCONV_TO_OVF_I4,"long_conv_to_ovf_i4")
-MINI_OP(OP_LCONV_TO_OVF_U4,"long_conv_to_ovf_u4")
-MINI_OP(OP_LCONV_TO_OVF_I8,"long_conv_to_ovf_i8")
-MINI_OP(OP_LCONV_TO_OVF_U8,"long_conv_to_ovf_u8")
-
-
-MINI_OP(OP_LCONV_TO_R_UN,"long_conv_to_r_un")
-MINI_OP(OP_LCONV_TO_U,   "long_conv_to_u")
-MINI_OP(OP_LSHR_IMM,    "long_shr_imm")
-MINI_OP(OP_LSHR_UN_IMM,  "long_shr_un_imm")
-MINI_OP(OP_LSHL_IMM,     "long_shl_imm")
-MINI_OP(OP_LADD_IMM,     "long_add_imm")
-MINI_OP(OP_LSUB_IMM,     "long_sub_imm")
-
-
-MINI_OP(OP_IADD,    "int_add")
-MINI_OP(OP_ISUB,    "int_sub")
-MINI_OP(OP_IMUL,    "int_mul")
-MINI_OP(OP_IMUL_OVF,    "int_mul_ovf")
-MINI_OP(OP_IMUL_OVF_UN, "int_mul_ovf_un")
-MINI_OP(OP_IDIV,    "int_div")
-MINI_OP(OP_IDIV_UN, "int_div_un")
-MINI_OP(OP_IREM,    "int_rem")
-MINI_OP(OP_IREM_UN, "int_rem_un")
-MINI_OP(OP_IAND,    "int_and")
-MINI_OP(OP_IOR,     "int_or")
-MINI_OP(OP_IXOR,    "int_xor")
-MINI_OP(OP_ISHL,    "int_shl")
-MINI_OP(OP_ISHR,    "int_shr")
-MINI_OP(OP_ISHR_UN, "int_shr_un")
-MINI_OP(OP_IADC,     "int_adc")
-MINI_OP(OP_IADC_IMM, "int_adc_imm")
-MINI_OP(OP_ISBB,     "int_sbb")
-MINI_OP(OP_ISBB_IMM, "int_sbb_imm")
-MINI_OP(OP_IADDCC,   "int_addcc")
-MINI_OP(OP_ISUBCC,   "int_subcc")
-
-MINI_OP(OP_IADD_IMM,    "int_add_imm")
-MINI_OP(OP_ISUB_IMM,    "int_sub_imm")
-MINI_OP(OP_IMUL_IMM,    "int_mul_imm")
-MINI_OP(OP_IDIV_IMM,    "int_div_imm")
-MINI_OP(OP_IDIV_UN_IMM, "int_div_un_imm")
-MINI_OP(OP_IREM_IMM,    "int_rem_imm")
-MINI_OP(OP_IREM_UN_IMM, "int_rem_un_imm")
-MINI_OP(OP_IAND_IMM,    "int_and_imm")
-MINI_OP(OP_IOR_IMM,     "int_or_imm")
-MINI_OP(OP_IXOR_IMM,    "int_xor_imm")
-MINI_OP(OP_ISHL_IMM,    "int_shl_imm")
-MINI_OP(OP_ISHR_IMM,    "int_shr_imm")
-MINI_OP(OP_ISHR_UN_IMM, "int_shr_un_imm")
-
-MINI_OP(OP_INEG,       "int_neg")
-MINI_OP(OP_INOT,       "int_not")
-
-MINI_OP(OP_LONG_SHRUN_32, "long_shr_un_32")
-
-MINI_OP(OP_FADD,   "float_add")
-MINI_OP(OP_FSUB,   "float_sub")
-MINI_OP(OP_FMUL,   "float_mul")
-MINI_OP(OP_FDIV,   "float_div")
-MINI_OP(OP_FDIV_UN,"float_div_un")
-MINI_OP(OP_FREM,   "float_rem")
-MINI_OP(OP_FREM_UN,"float_rem_un")
-
-MINI_OP(OP_FNEG,       "float_neg")
-MINI_OP(OP_FNOT,       "float_not")
-MINI_OP(OP_FCONV_TO_I1,"float_conv_to_i1")
-MINI_OP(OP_FCONV_TO_I2,"float_conv_to_i2")
-MINI_OP(OP_FCONV_TO_I4,"float_conv_to_i4")
-MINI_OP(OP_FCONV_TO_I8,"float_conv_to_i8")
-MINI_OP(OP_FCONV_TO_R4,"float_conv_to_r4")
-MINI_OP(OP_FCONV_TO_R8,"float_conv_to_r8")
-MINI_OP(OP_FCONV_TO_U4,"float_conv_to_u4")
-MINI_OP(OP_FCONV_TO_U8,"float_conv_to_u8")
-
-MINI_OP(OP_FCONV_TO_U2,   "float_conv_to_u2")
-MINI_OP(OP_FCONV_TO_U1,   "float_conv_to_u1")
-MINI_OP(OP_FCONV_TO_I,    "float_conv_to_i")
-MINI_OP(OP_FCONV_TO_OVF_I,"float_conv_to_ovf_i")
-MINI_OP(OP_FCONV_TO_OVF_U,"float_conv_to_ovd_u")
-MINI_OP(OP_FADD_OVF,      "float_add_ovf")
-MINI_OP(OP_FADD_OVF_UN,   "float_add_ovf_un")
-MINI_OP(OP_FMUL_OVF,      "float_mul_ovf")
-MINI_OP(OP_FMUL_OVF_UN,   "float_mul_ovf_un")
-MINI_OP(OP_FSUB_OVF,      "float_sub_ovf")
-MINI_OP(OP_FSUB_OVF_UN,   "float_sub_ovf_un")
-
-MINI_OP(OP_FCONV_TO_OVF_I1_UN,"float_conv_to_ovf_i1_un")
-MINI_OP(OP_FCONV_TO_OVF_I2_UN,"float_conv_to_ovf_i2_un")
-MINI_OP(OP_FCONV_TO_OVF_I4_UN,"float_conv_to_ovf_i4_un")
-MINI_OP(OP_FCONV_TO_OVF_I8_UN,"float_conv_to_ovf_i8_un")
-MINI_OP(OP_FCONV_TO_OVF_U1_UN,"float_conv_to_ovf_u1_un")
-MINI_OP(OP_FCONV_TO_OVF_U2_UN,"float_conv_to_ovf_u2_un")
-MINI_OP(OP_FCONV_TO_OVF_U4_UN,"float_conv_to_ovf_u4_un")
-MINI_OP(OP_FCONV_TO_OVF_U8_UN,"float_conv_to_ovf_u8_un")
-MINI_OP(OP_FCONV_TO_OVF_I_UN, "float_conv_to_ovf_i_un")
-MINI_OP(OP_FCONV_TO_OVF_U_UN, "float_conv_to_ovf_u_un")
-
-MINI_OP(OP_FCONV_TO_OVF_I1,"float_conv_to_ovf_i1")
-MINI_OP(OP_FCONV_TO_OVF_U1,"float_conv_to_ovf_u1")
-MINI_OP(OP_FCONV_TO_OVF_I2,"float_conv_to_ovf_i2")
-MINI_OP(OP_FCONV_TO_OVF_U2,"float_conv_to_ovf_u2")
-MINI_OP(OP_FCONV_TO_OVF_I4,"float_conv_to_ovf_i4")
-MINI_OP(OP_FCONV_TO_OVF_U4,"float_conv_to_ovf_u4")
-MINI_OP(OP_FCONV_TO_OVF_I8,"float_conv_to_ovf_i8")
-MINI_OP(OP_FCONV_TO_OVF_U8,"float_conv_to_ovf_u8")
-
-
-MINI_OP(OP_FCONV_TO_U, "float_conv_to_u")
-
-MINI_OP(OP_BIGMUL, "op_bigmul")
-MINI_OP(OP_BIGMUL_UN, "op_bigmul_un")
-
-MINI_OP(OP_ADC,     "adc")
-MINI_OP(OP_ADC_IMM, "adc_imm")
-MINI_OP(OP_SBB,     "sbb")
-MINI_OP(OP_SBB_IMM, "sbb_imm")
-MINI_OP(OP_ADDCC,   "addcc")
-MINI_OP(OP_ADDCC_IMM,   "addcc_imm")
-MINI_OP(OP_SUBCC,   "subcc")
-MINI_OP(OP_SUBCC_IMM,   "subcc_imm")
-MINI_OP(OP_BR_REG,  "br_reg")
-MINI_OP(OP_SEXT_I1,  "sext_i1")
-MINI_OP(OP_SEXT_I2,  "sext_i2")
-MINI_OP(OP_CNE,      "cne")
-
-
-MINI_OP(OP_ADD_OVF_CARRY,   "add_ovf_carry")
-MINI_OP(OP_SUB_OVF_CARRY,   "sub_ovf_carry")
-MINI_OP(OP_ADD_OVF_UN_CARRY,   "add_ovf_un_carry")
-MINI_OP(OP_SUB_OVF_UN_CARRY,   "sub_ovf_un_carry")
-
-MINI_OP(OP_SIN,     "sin")
-MINI_OP(OP_COS,     "cos")
-MINI_OP(OP_ABS,     "abs")
-MINI_OP(OP_TAN,     "tan")
-MINI_OP(OP_ATAN,    "atan")
-MINI_OP(OP_SQRT,    "sqrt")
-
-MINI_OP(OP_GETCHR, "getchar")
-MINI_OP(OP_STRLEN, "strlen")
-

Modified: trunk/mono/mono/mini/ssapre.c
===================================================================
--- trunk/mono/mono/mini/ssapre.c       2006-06-09 05:57:15 UTC (rev 61591)
+++ trunk/mono/mono/mini/ssapre.c       2006-06-09 06:37:04 UTC (rev 61592)
@@ -339,12 +339,14 @@
 static void
 analyze_expression (MonoInst *expression, MonoSsapreExpressionDescription 
*result) {
        switch (expression->opcode) {
+#define SSAPRE_SPECIFIC_OPS 1
 #define OPDEF(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) case a1:
-#include "ssapre-cee-ops.h"
+#include "simple-cee-ops.h"
 #undef OPDEF
 #define MINI_OP(a1,a2) case a1:
-#include "ssapre-mini-ops.h"
+#include "simple-mini-ops.h"
 #undef MINI_OP
+#undef SSAPRE_SPECIFIC_OPS
                if ( (expression->type == STACK_I4) ||
                                (expression->type == STACK_PTR) ||
                                (expression->type == STACK_MP) ||

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

Reply via email to