[macruby-changes] [668] MacRuby/branches/macruby64/variable.c

source_changes at macosforge.org source_changes at macosforge.org
Wed Oct 22 17:01:30 PDT 2008


Revision: 668
          http://trac.macosforge.org/projects/ruby/changeset/668
Author:   lsansonetti at apple.com
Date:     2008-10-22 17:01:30 -0700 (Wed, 22 Oct 2008)
Log Message:
-----------
adding some missing wb

Modified Paths:
--------------
    MacRuby/branches/macruby64/variable.c

Modified: MacRuby/branches/macruby64/variable.c
===================================================================
--- MacRuby/branches/macruby64/variable.c	2008-10-22 23:45:57 UTC (rev 667)
+++ MacRuby/branches/macruby64/variable.c	2008-10-23 00:01:30 UTC (rev 668)
@@ -436,7 +436,7 @@
 	entry = ALLOC(struct global_entry);
 	var = ALLOC(struct global_variable);
 	entry->id = id;
-	entry->var = var;
+	GC_WB(&entry->var, var);
 	var->counter = 1;
 	var->data = 0;
 	var->getter = undef_getter;
@@ -468,7 +468,7 @@
     var->setter = val_setter;
     var->marker = val_marker;
 
-    var->data = (void*)val;
+    GC_WB(&var->data, (void*)val);
 }
 
 static void
@@ -504,7 +504,7 @@
 static void
 var_setter(VALUE val, ID id, VALUE *var)
 {
-    *var = val;
+    GC_WB(var, val);
 }
 
 static void
@@ -577,7 +577,7 @@
     gvar->setter = setter?setter:var_setter;
     gvar->marker = var_marker;
 
-    GC_ROOT(var);
+    rb_objc_retain((void *)var);
 }
 
 void
@@ -655,7 +655,7 @@
     trace->func = rb_trace_eval;
     trace->data = cmd;
     trace->removed = 0;
-    entry->var->trace = trace;
+    GC_WB(&entry->var->trace, trace);
 
     return Qnil;
 }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20081022/8b2e0ae3/attachment-0001.html>


More information about the macruby-changes mailing list