[macruby-changes] [220] MacRuby/trunk/ext
source_changes at macosforge.org
source_changes at macosforge.org
Sun May 25 23:32:18 PDT 2008
Revision: 220
http://trac.macosforge.org/projects/ruby/changeset/220
Author: lsansonetti at apple.com
Date: 2008-05-25 23:32:17 -0700 (Sun, 25 May 2008)
Log Message:
-----------
adding some missing write barriers
Modified Paths:
--------------
MacRuby/trunk/ext/stringio/stringio.c
MacRuby/trunk/ext/strscan/strscan.c
Modified: MacRuby/trunk/ext/stringio/stringio.c
===================================================================
--- MacRuby/trunk/ext/stringio/stringio.c 2008-05-26 03:26:15 UTC (rev 219)
+++ MacRuby/trunk/ext/stringio/stringio.c 2008-05-26 06:32:17 UTC (rev 220)
@@ -191,7 +191,7 @@
ptr->flags = FMODE_READWRITE;
break;
}
- ptr->string = string;
+ GC_WB(&ptr->string, string);
}
static VALUE
@@ -307,7 +307,8 @@
ptr->flags = OBJ_FROZEN(string) ? FMODE_READABLE : FMODE_READWRITE;
ptr->pos = 0;
ptr->lineno = 0;
- return ptr->string = string;
+ GC_WB(&ptr->string, string);
+ return string;
}
/*
Modified: MacRuby/trunk/ext/strscan/strscan.c
===================================================================
--- MacRuby/trunk/ext/strscan/strscan.c 2008-05-26 03:26:15 UTC (rev 219)
+++ MacRuby/trunk/ext/strscan/strscan.c 2008-05-26 06:32:17 UTC (rev 220)
@@ -122,7 +122,9 @@
static VALUE
infect(VALUE str, struct strscanner *p)
{
+#if !WITH_OBJC
OBJ_INFECT(str, p->str);
+#endif
return str;
}
@@ -199,7 +201,7 @@
Data_Get_Struct(self, struct strscanner, p);
rb_scan_args(argc, argv, "11", &str, &need_dup);
StringValue(str);
- p->str = str;
+ GC_WB(&p->str, str);
return self;
}
@@ -231,7 +233,7 @@
Data_Get_Struct(vorig, struct strscanner, orig);
if (self != orig) {
self->flags = orig->flags;
- self->str = orig->str;
+ GC_WN(&self->str, orig->str);
self->prev = orig->prev;
self->curr = orig->curr;
onig_region_copy(&self->regs, &orig->regs);
@@ -323,7 +325,7 @@
Data_Get_Struct(self, struct strscanner, p);
StringValue(str);
- p->str = rb_str_dup(str);
+ GC_WB(&p->str, rb_str_dup(str));
rb_obj_freeze(p->str);
p->curr = 0;
CLEAR_MATCH_STATUS(p);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080525/c5130f0b/attachment.htm
More information about the macruby-changes
mailing list