diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-07-13 07:08:32 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-07-13 07:08:32 +0000 |
commit | d7eb7bbccef6da8951c8a2427354f87156918909 (patch) | |
tree | 71f930605110cc9737d43a282fb465f67484328d /test | |
parent | d42e547ab1a487a00ccd4f71604b58e1cce060eb (diff) |
* gc.c (gc_mark_roots): should mark the VM object itself to mark
singleton class of the VM object.
Before this patch, we only set mark bit for the VM object and
invoke mark function separately.
[Bug #12583]
* test/ruby/test_gc.rb: add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_gc.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/ruby/test_gc.rb b/test/ruby/test_gc.rb index d915ae25d7..a5fd2897a2 100644 --- a/test/ruby/test_gc.rb +++ b/test/ruby/test_gc.rb @@ -390,4 +390,11 @@ class TestGc < Test::Unit::TestCase GC.enable unless disabled end end + + def test_vm_object + assert_normal_exit <<-'end', '[Bug #12583]' + ObjectSpace.each_object{|o| o.singleton_class rescue 0} + ObjectSpace.each_object{|o| case o when Module then o.instance_methods end} + end + end end |