2010-02-07 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Sun, 7 Feb 2010 05:07:40 +0000 (05:07 -0000)
committerZoltan Varga <vargaz@gmail.com>
Sun, 7 Feb 2010 05:07:40 +0000 (05:07 -0000)
* aot-compiler.c aot-runtime.c: Add support for MONO_WRAPPER_WRITE_BARRIER.

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

mono/mini/ChangeLog
mono/mini/aot-compiler.c
mono/mini/aot-runtime.c

index 3012d51b1eea70a1eb7cb49d3b2971a36a73e7b5..24f9b62b5be6f9a14b8ea50288aba93dd6def1b4 100755 (executable)
@@ -1,5 +1,7 @@
 2010-02-07  Zoltan Varga  <vargaz@gmail.com>
 
+       * aot-compiler.c aot-runtime.c: Add support for MONO_WRAPPER_WRITE_BARRIER.
+
        * aot-compiler.c (encode_method_ref): Update after the removal of
        mono_gc_get_managed_allocator_type ().
 
index e0848694187f56351b554b2f50219c7a2438bbc2..2845df23a8b4f2005767d9000fb67c8dded97ce7 100644 (file)
@@ -1632,6 +1632,8 @@ encode_method_ref (MonoAotCompile *acfg, MonoMethod *method, guint8 *buf, guint8
                        encode_value (info->alloc_type, p, &p);
                        break;
                }
+               case MONO_WRAPPER_WRITE_BARRIER:
+                       break;
                case MONO_WRAPPER_STELEMREF:
                        break;
                case MONO_WRAPPER_UNKNOWN:
@@ -3872,6 +3874,7 @@ can_encode_patch (MonoAotCompile *acfg, MonoJumpInfo *patch_info)
                        case MONO_WRAPPER_ALLOC:
                        case MONO_WRAPPER_REMOTING_INVOKE:
                        case MONO_WRAPPER_UNKNOWN:
+                       case MONO_WRAPPER_WRITE_BARRIER:
                                break;
                        case MONO_WRAPPER_MANAGED_TO_MANAGED:
                                if (!strcmp (method->name, "ElementAddr"))
index af8894e170c20fcad0dc0839688690423a23186f..9c8fdc07d8897868a711bc739bff5634f9648d8f 100644 (file)
@@ -586,6 +586,9 @@ decode_method_ref (MonoAotModule *module, guint32 *token, MonoMethod **method, g
                        *method = mono_gc_get_managed_allocator_by_type (atype);
                        break;
                }
+               case MONO_WRAPPER_WRITE_BARRIER:
+                       *method = mono_gc_get_write_barrier ();
+                       break;
                case MONO_WRAPPER_STELEMREF:
                        *method = mono_marshal_get_stelemref ();
                        break;