public
Description: Rubinius, the Ruby VM
Homepage: http://rubini.us
Clone URL: git://github.com/evanphx/rubinius.git
Fixed Object::set_ivar()'s conversion of CSM to table.
rue (author)
Sun Jul 06 22:36:06 -0700 2008
commit  b7bc01c01d97a192c6c99c58fcbb57da6b43dcd1
tree    a852c16818a37c6dc3cdacabcd8e811e1e0d553c
parent  f095d7d9574057c9365e9cc098443c060716ab15
...
262
263
264
265
 
266
267
268
...
302
303
304
 
305
306
307
 
308
309
310
...
262
263
264
 
265
266
267
268
...
302
303
304
305
306
307
 
308
309
310
311
0
@@ -262,7 +262,7 @@ namespace rubinius {
0
   }
0
 
0
   OBJECT Object::set_ivar(STATE, OBJECT sym, OBJECT val) {
0
- LookupTable *tbl;
0
+ LookupTable* tbl;
0
 
0
     /* Implements the external ivars table for objects that don't
0
        have their own space for ivars. */
0
@@ -302,9 +302,10 @@ namespace rubinius {
0
       if(Hash::csm_add(state, tup, sym, val) == Qtrue) {
0
         return val;
0
       }
0
+
0
       /* csm_add said false, meaning there is no room. We convert
0
          the csm into a normal hash and use it from now on. */
0
- tbl = Hash::csm_into_lookuptable(state, (Tuple*)tbl);
0
+ tbl = Hash::csm_into_lookuptable(state, tup);
0
       SET((NormalObject*)this, instance_variables, tbl);
0
     }
0
 

Comments

    No one has commented yet.