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;
}