diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | iseq.c | 2 |
2 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Fri Aug 15 19:38:00 2014 Koichi Sasada <[email protected]> + + * iseq.c (rb_iseq_clone): Should not insert write barrier from + non-RVALUE data (to non-RVALUE data, of course). + + Ruby 2.1 also has a same problem. + Fri Aug 15 19:34:33 2014 Koichi Sasada <[email protected]> * string.c (setup_fake_str): fake strings should not set class by @@ -1941,7 +1941,7 @@ rb_iseq_clone(VALUE iseqval, VALUE newcbase) if (iseq0->cref_stack->nd_next) { RB_OBJ_WRITE(iseq1->cref_stack, &iseq1->cref_stack->nd_next, iseq0->cref_stack->nd_next); } - RB_OBJ_WRITE(iseq1, &iseq1->klass, newcbase); + RB_OBJ_WRITE(iseq1->self, &iseq1->klass, newcbase); } return newiseq; |