mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* vm_method.c (rb_method_entry_make): fix WB miss.
Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c3405de433
commit
d8eb7f3c0d
3 changed files with 22 additions and 1 deletions
|
@ -1,3 +1,11 @@
|
|||
Mon Dec 16 16:40:35 2013 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* vm_method.c (rb_method_entry_make): fix WB miss.
|
||||
Note that rb_method_entry_t::klass is not constified.
|
||||
We may constify this field.
|
||||
|
||||
* test/ruby/test_alias.rb: add a test.
|
||||
|
||||
Mon Dec 16 14:14:22 2013 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* gc.c: use gc_verify_internal_consistency() instead of
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
require 'test/unit'
|
||||
require_relative 'envutils'
|
||||
|
||||
class TestAlias < Test::Unit::TestCase
|
||||
class Alias0
|
||||
|
@ -119,4 +120,16 @@ class TestAlias < Test::Unit::TestCase
|
|||
def test_super_in_aliased_module_method # fails in 1.8
|
||||
assert_equal([:Base, :M], SuperInAliasedModuleMethod::Derived.new.bar)
|
||||
end
|
||||
|
||||
def test_alias
|
||||
assert_normal_exit %q{
|
||||
require 'stringio'
|
||||
GC.verify_internal_consistency
|
||||
GC.start
|
||||
class StringIO
|
||||
alias_method :read_nonblock, :sysread
|
||||
end
|
||||
GC.verify_internal_consistency
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -322,7 +322,7 @@ rb_method_entry_make(VALUE klass, ID mid, rb_method_type_t type,
|
|||
me->flag = NOEX_WITH_SAFE(noex);
|
||||
me->mark = 0;
|
||||
me->called_id = mid;
|
||||
me->klass = defined_class;
|
||||
OBJ_WRITE(klass, &me->klass, defined_class);
|
||||
me->def = def;
|
||||
|
||||
if (def) {
|
||||
|
|
Loading…
Reference in a new issue