2007-11-17 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Sat, 17 Nov 2007 17:06:22 +0000 (17:06 -0000)
committerZoltan Varga <vargaz@gmail.com>
Sat, 17 Nov 2007 17:06:22 +0000 (17:06 -0000)
* mini-x86.c (mono_arch_get_inst_for_method): Remove code which is now in
mini.c.

svn path=/trunk/mono/; revision=89863

mono/mini/ChangeLog
mono/mini/mini-x86.c
mono/mini/mini-x86.h

index 9ebc8994760f2993d2a74cd8dc6d3279fbd6923c..6b9915a15444a8cd166f33f61f4c21533b06fe0a 100644 (file)
@@ -1,5 +1,8 @@
 2007-11-17  Zoltan Varga  <vargaz@gmail.com>
 
+       * mini-x86.c (mono_arch_get_inst_for_method): Remove code which is now in
+       mini.c.
+
        * mini-ia64.c (mono_arch_get_inst_for_method): Remove code which is now in
        mini.c.
 
index 1c83859cce4de3171a36f225cbe00cc0ad9e747c..7d6ca40ab66f8d9906d8a120f6e63187e797a3e3 100644 (file)
@@ -4350,42 +4350,6 @@ mono_arch_get_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethod
                        ins->inst_i1 = args [1];
                }
 #endif
-       } else if (cmethod->klass == mono_defaults.thread_class &&
-                          strcmp (cmethod->name, "MemoryBarrier") == 0) {
-               MONO_INST_NEW (cfg, ins, OP_MEMORY_BARRIER);
-       } else if(cmethod->klass->image == mono_defaults.corlib &&
-                          (strcmp (cmethod->klass->name_space, "System.Threading") == 0) &&
-                          (strcmp (cmethod->klass->name, "Interlocked") == 0)) {
-
-               if (strcmp (cmethod->name, "Increment") == 0 && fsig->params [0]->type == MONO_TYPE_I4) {
-                       MonoInst *ins_iconst;
-
-                       MONO_INST_NEW (cfg, ins, OP_ATOMIC_ADD_NEW_I4);
-                       MONO_INST_NEW (cfg, ins_iconst, OP_ICONST);
-                       ins_iconst->inst_c0 = 1;
-
-                       ins->inst_i0 = args [0];
-                       ins->inst_i1 = ins_iconst;
-               } else if (strcmp (cmethod->name, "Decrement") == 0 && fsig->params [0]->type == MONO_TYPE_I4) {
-                       MonoInst *ins_iconst;
-
-                       MONO_INST_NEW (cfg, ins, OP_ATOMIC_ADD_NEW_I4);
-                       MONO_INST_NEW (cfg, ins_iconst, OP_ICONST);
-                       ins_iconst->inst_c0 = -1;
-
-                       ins->inst_i0 = args [0];
-                       ins->inst_i1 = ins_iconst;
-               } else if (strcmp (cmethod->name, "Exchange") == 0 && fsig->params [0]->type == MONO_TYPE_I4) {
-                       MONO_INST_NEW (cfg, ins, OP_ATOMIC_EXCHANGE_I4);
-
-                       ins->inst_i0 = args [0];
-                       ins->inst_i1 = args [1];
-               } else if (strcmp (cmethod->name, "Add") == 0 && fsig->params [0]->type == MONO_TYPE_I4) {
-                       MONO_INST_NEW (cfg, ins, OP_ATOMIC_ADD_NEW_I4);
-
-                       ins->inst_i0 = args [0];
-                       ins->inst_i1 = args [1];
-               }
        }
 
        return ins;
index 4a8227bed538cafc3621a2e5bae4f98658d9e7da..dad050c28d96f5fb734e3e1fe2d6f38713b412fc 100644 (file)
@@ -273,6 +273,8 @@ typedef struct {
 #define MONO_ARCH_HAVE_CREATE_SPECIFIC_TRAMPOLINE 1
 #define MONO_ARCH_HAVE_CREATE_DELEGATE_TRAMPOLINE 1
 #define MONO_ARCH_HAVE_CREATE_VARS 1
+#define MONO_ARCH_HAVE_ATOMIC_ADD 1
+#define MONO_ARCH_HAVE_ATOMIC_EXCHANGE 1
 #define MONO_ARCH_HAVE_IMT 1
 #define MONO_ARCH_IMT_REG X86_EDX
 #define MONO_ARCH_COMMON_VTABLE_TRAMPOLINE 1