diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-08 08:56:50 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-08 08:56:50 +0000 |
commit | fa043eb4e8764902beb1ff1e89ef6af98e6d7725 (patch) | |
tree | 13a10402445dd1df9b721a7982169df241a7246a /vm.c | |
parent | e4c06f3c22f075722979e298d9c0c8dbe63431fe (diff) | |
download | ruby-fa043eb4e8764902beb1ff1e89ef6af98e6d7725.tar.gz |
vm.c: cleanup to use rb_method_entry_at
* vm.c (add_opt_method): cleanup to use rb_method_entry_at
Easier experiments with a non-st method entry tables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1147,8 +1147,9 @@ rb_vm_check_redefinition_by_prepend(VALUE klass) static void add_opt_method(VALUE klass, ID mid, VALUE bop) { - rb_method_entry_t *me; - if (st_lookup(RCLASS_M_TBL(klass), mid, (void *)&me) && me->def && + rb_method_entry_t *me = rb_method_entry_at(klass, mid); + + if (me && me->def && me->def->type == VM_METHOD_TYPE_CFUNC) { st_insert(vm_opt_method_table, (st_data_t)me, (st_data_t)bop); } |