1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* vm.c (vm_define_method): improve guard of iseq from GC. Fix

failure or segmentation fault in test_singleton_method(TestGc)
  on sparc Solaris10 compiled with Oracle Solaris Studio 12.2.
  [Bug #5762] [ruby-dev:45000] [Bug #4178]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ngoto 2011-12-18 09:58:31 +00:00
parent 9c00c1234d
commit 8457bea9ab
2 changed files with 8 additions and 2 deletions

View file

@ -1,3 +1,10 @@
Sun Dec 18 18:52:37 2011 Naohisa Goto <ngotogenome@gmail.com>
* vm.c (vm_define_method): improve guard of iseq from GC. Fix
failure or segmentation fault in test_singleton_method(TestGc)
on sparc Solaris10 compiled with Oracle Solaris Studio 12.2.
[Bug #5762] [ruby-dev:45000] [Bug #4178]
Sun Dec 18 14:34:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/bigdecimal/bigdecimal.c (Init_bigdecimal): does not follow

3
vm.c
View file

@ -1912,8 +1912,7 @@ vm_define_method(rb_thread_t *th, VALUE obj, ID id, VALUE iseqval,
GetISeqPtr(iseqval, miseq);
if (miseq->klass) {
iseqval = rb_iseq_clone(iseqval, 0);
RB_GC_GUARD(iseqval);
RB_GC_GUARD(iseqval) = rb_iseq_clone(iseqval, 0);
GetISeqPtr(iseqval, miseq);
}