mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
merge revision(s) 55663: [Backport #12583]
* 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/branches/ruby_2_3@55919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2f0555c3a1
commit
7f7360a885
4 changed files with 19 additions and 2 deletions
10
ChangeLog
10
ChangeLog
|
|
@ -1,3 +1,13 @@
|
|||
Tue Aug 16 12:27:48 2016 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* 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.
|
||||
|
||||
Tue Aug 16 12:01:35 2016 Naohisa Goto <ngotogenome@gmail.com>
|
||||
|
||||
* ext/digest/md5/md5ossl.h: Remove excess semicolons.
|
||||
|
|
|
|||
2
gc.c
2
gc.c
|
|
@ -4642,7 +4642,7 @@ gc_mark_roots(rb_objspace_t *objspace, const char **categoryp)
|
|||
MARK_CHECKPOINT("vm");
|
||||
SET_STACK_END;
|
||||
rb_vm_mark(th->vm);
|
||||
if (th->vm->self) gc_mark_set(objspace, th->vm->self);
|
||||
if (th->vm->self) gc_mark(objspace, th->vm->self);
|
||||
|
||||
MARK_CHECKPOINT("finalizers");
|
||||
mark_tbl(objspace, finalizer_table);
|
||||
|
|
|
|||
|
|
@ -397,4 +397,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
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#define RUBY_VERSION "2.3.2"
|
||||
#define RUBY_RELEASE_DATE "2016-08-16"
|
||||
#define RUBY_PATCHLEVEL 166
|
||||
#define RUBY_PATCHLEVEL 167
|
||||
|
||||
#define RUBY_RELEASE_YEAR 2016
|
||||
#define RUBY_RELEASE_MONTH 8
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue