Revision
651
Author
lsansonetti@apple.com
Date
2008-10-07 13:35:32 -0700 (Tue, 07 Oct 2008)

Log Message

adding more missing write barriers

Modified Paths

Diff

Modified: MacRuby/trunk/parse.y (650 => 651)


--- MacRuby/trunk/parse.y	2008-10-07 07:22:25 UTC (rev 650)
+++ MacRuby/trunk/parse.y	2008-10-07 20:35:32 UTC (rev 651)
@@ -5153,7 +5153,7 @@
     tokidx = 0;
     if (!tokenbuf) {
 	toksiz = 60;
-	tokenbuf = ALLOC_N(char, 60);
+	GC_WB(&tokenbuf, ALLOC_N(char, 60));
     }
     if (toksiz > 4096) {
 	toksiz = 60;

Modified: MacRuby/trunk/vm.c (650 => 651)


--- MacRuby/trunk/vm.c	2008-10-07 07:22:25 UTC (rev 650)
+++ MacRuby/trunk/vm.c	2008-10-07 20:35:32 UTC (rev 651)
@@ -381,7 +381,7 @@
 		th, cfp, (rb_block_t *)GC_GUARDED_PTR_REF(*cfp->lfp));
 
 	    GetProcPtr(blockprocval, p);
-	    *cfp->lfp = GC_GUARDED_PTR(&p->block);
+	    GC_WB(cfp->lfp, GC_GUARDED_PTR(&p->block));
 	}
     }
     envval = vm_make_env_object(th, cfp);

Modified: MacRuby/trunk/vm_eval.c (650 => 651)


--- MacRuby/trunk/vm_eval.c	2008-10-07 07:22:25 UTC (rev 650)
+++ MacRuby/trunk/vm_eval.c	2008-10-07 20:35:32 UTC (rev 651)
@@ -649,7 +649,7 @@
       iter_retry:
 	{
 	    rb_block_t *blockptr = RUBY_VM_GET_BLOCK_PTR_IN_CFP(th->cfp);
-	    blockptr->iseq = (void *)node;
+	    GC_WB(&blockptr->iseq, (void *)node);
 	    blockptr->proc = 0;
 	    th->passed_block = blockptr;
 	}