[macruby-changes] [649] MacRuby/trunk/parse.y

source_changes at macosforge.org source_changes at macosforge.org
Tue Oct 7 00:21:56 PDT 2008


Revision: 649
          http://trac.macosforge.org/projects/ruby/changeset/649
Author:   lsansonetti at apple.com
Date:     2008-10-07 00:21:54 -0700 (Tue, 07 Oct 2008)
Log Message:
-----------
adding missing write barriers

Modified Paths:
--------------
    MacRuby/trunk/parse.y

Modified: MacRuby/trunk/parse.y
===================================================================
--- MacRuby/trunk/parse.y	2008-10-07 03:50:19 UTC (rev 648)
+++ MacRuby/trunk/parse.y	2008-10-07 07:21:54 UTC (rev 649)
@@ -143,7 +143,7 @@
     struct vtable *tbl = ALLOC(struct vtable);
     tbl->pos = 0;
     tbl->capa = 8;
-    tbl->tbl = ALLOC_N(ID, tbl->capa);
+    GC_WB(&tbl->tbl, ALLOC_N(ID, tbl->capa));
     tbl->prev = prev;
     if (VTBL_DEBUG) printf("vtable_alloc: %p\n", tbl);
     return tbl;
@@ -8624,9 +8624,9 @@
 
     local = ALLOC(struct local_vars);
     local->prev = lvtbl;
-    local->args = vtable_alloc(0);
-    local->vars = vtable_alloc(inherit_dvars ? DVARS_INHERIT : DVARS_TOPSCOPE);
-    lvtbl = local;
+    GC_WB(&local->args, vtable_alloc(0));
+    GC_WB(&local->vars, vtable_alloc(inherit_dvars ? DVARS_INHERIT : DVARS_TOPSCOPE));
+    GC_WB(&lvtbl, local);
 }
 
 static void
@@ -8636,7 +8636,7 @@
     vtable_free(lvtbl->args);
     vtable_free(lvtbl->vars);
     xfree(lvtbl);
-    lvtbl = local;
+    GC_WB(&lvtbl, local);
 }
 
 static ID*
@@ -8779,8 +8779,8 @@
 static void
 dyna_push_gen(struct parser_params *parser)
 {
-    lvtbl->args = vtable_alloc(lvtbl->args);
-    lvtbl->vars = vtable_alloc(lvtbl->vars);
+    GC_WB(&lvtbl->args, vtable_alloc(lvtbl->args));
+    GC_WB(&lvtbl->vars, vtable_alloc(lvtbl->vars));
 }
 
 static void
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20081007/ab1b0c96/attachment-0001.html 


More information about the macruby-changes mailing list