* 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.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2014-08-15 10:39:27 +00:00
Родитель 6f7366c206
Коммит 3e759ed78d
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,10 @@
Fri Aug 15 19:38:00 2014 Koichi Sasada <ko1@atdot.net>
* 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 <ko1@atdot.net>
* string.c (setup_fake_str): fake strings should not set class by

2
iseq.c
Просмотреть файл

@ -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;