[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