* vm_method.c (me_opts): fixed optimized method aliasing.

[ruby-dev:38824]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2009-07-19 02:00:27 +00:00
Родитель 3d57dfa01b
Коммит 33fc55acef
3 изменённых файлов: 15 добавлений и 0 удалений

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

@ -1,3 +1,8 @@
Sun Jul 19 11:00:14 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_method.c (me_opts): fixed optimized method aliasing.
[ruby-dev:38824]
Sun Jul 19 10:54:56 2009 Tanaka Akira <akr@fsij.org>
* ext/socket/lib/socket.rb (Socket.accept_loop): rescue

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

@ -69,4 +69,12 @@ class TestAlias < Test::Unit::TestCase
}
}
end
def test_send_alias
x = "abc"
class << x
alias_method :try, :__send__
end
assert_equal("ABC", x.try(:upcase), '[ruby-dev:38824]')
end
end

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

@ -758,6 +758,8 @@ me_opts(const rb_method_entry_t *me)
case VM_METHOD_TYPE_NOTIMPLEMENTED:
case VM_METHOD_TYPE_UNDEF:
return 0;
case VM_METHOD_TYPE_OPTIMIZED:
return (void *)me->body.optimize_type;
default:
rb_bug("rb_add_method: unsupported method type (%d)\n", me->type);
return 0;