[前][次][番号順一覧][スレッド一覧]

ruby-changes:25778

From: shirosaki <ko1@a...>
Date: Sat, 24 Nov 2012 21:27:11 +0900 (JST)
Subject: [ruby-changes:25778] shirosaki:r37835 (trunk): gc.c: refactoring to rename variables

shirosaki	2012-11-24 21:26:57 +0900 (Sat, 24 Nov 2012)

  New Revision: 37835

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37835

  Log:
    gc.c: refactoring to rename variables
    
    * gc.c (wmap_final_func): rename variables to clarify the meaning.
      In wmap2obj the key is WeakRef and the value is referenced object.
      In obj2wmap the key is referenced object and the value is an array
      of WeakRef.
    
    * gc.c (wmap_finalize): ditto.
      [ruby-core:49044] [Bug #7304]

  Modified files:
    trunk/ChangeLog
    trunk/gc.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37834)
+++ ChangeLog	(revision 37835)
@@ -1,3 +1,13 @@
+Sat Nov 24 21:08:50 2012  Hiroshi Shirosaki  <h.shirosaki@g...>
+
+	* gc.c (wmap_final_func): rename variables to clarify the meaning.
+	  In wmap2obj the key is WeakRef and the value is referenced object.
+	  In obj2wmap the key is referenced object and the value is an array
+	  of WeakRef.
+
+	* gc.c (wmap_finalize): ditto.
+	  [ruby-core:49044] [Bug #7304]
+
 Sat Nov 24 21:01:55 2012  Hiroshi Shirosaki  <h.shirosaki@g...>
 
 	* array.c (rb_ary_delete_same_obj): new function for WeakRef.
Index: gc.c
===================================================================
--- gc.c	(revision 37834)
+++ gc.c	(revision 37835)
@@ -3749,39 +3749,40 @@
 static int
 wmap_final_func(st_data_t *key, st_data_t *value, st_data_t arg, int existing)
 {
-    VALUE obj, ary;
+    VALUE wmap, ary;
     if (!existing) return ST_STOP;
-    obj = (VALUE)arg, ary = (VALUE)*value;
-    rb_ary_delete_same_obj(ary, obj);
+    wmap = (VALUE)arg, ary = (VALUE)*value;
+    rb_ary_delete_same_obj(ary, wmap);
     if (!RARRAY_LEN(ary)) return ST_DELETE;
     return ST_CONTINUE;
 }
 
 static VALUE
-wmap_finalize(VALUE self, VALUE obj)
+wmap_finalize(VALUE self, VALUE objid)
 {
-    st_data_t key, data;
-    VALUE rids;
+    st_data_t orig, wmap, data;
+    VALUE obj, rids;
     long i;
     struct weakmap *w;
 
     TypedData_Get_Struct(self, struct weakmap, &weakmap_type, w);
     /* Get reference from object id. */
-    obj = obj ^ FIXNUM_FLAG; /* unset FIXNUM_FLAG */
+    obj = objid ^ FIXNUM_FLAG; /* unset FIXNUM_FLAG */
 
     /* obj is original referenced object and/or weak reference. */
-    key = (st_data_t)obj;
-    if (st_delete(w->obj2wmap, &key, &data)) {
+    orig = (st_data_t)obj;
+    if (st_delete(w->obj2wmap, &orig, &data)) {
 	rids = (VALUE)data;
 	for (i = 0; i < RARRAY_LEN(rids); ++i) {
-	    data = (st_data_t)RARRAY_PTR(rids)[i];
-	    st_delete(w->wmap2obj, &data, NULL);
+	    wmap = (st_data_t)RARRAY_PTR(rids)[i];
+	    st_delete(w->wmap2obj, &wmap, NULL);
 	}
     }
 
-    key = (st_data_t)obj;
-    if (st_delete(w->wmap2obj, &key, &data)) {
-	st_update(w->obj2wmap, data, wmap_final_func, (st_data_t)obj);
+    wmap = (st_data_t)obj;
+    if (st_delete(w->wmap2obj, &wmap, &orig)) {
+	wmap = (st_data_t)obj;
+	st_update(w->obj2wmap, orig, wmap_final_func, wmap);
     }
     return self;
 }

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]