diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | vm.c | 5 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Sat Mar 8 17:42:51 2014 Eric Wong <e@80x24.org> + + * vm.c (add_opt_method): cleanup to use rb_method_entry_at + Sat Mar 8 13:46:40 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> * ext/dl/cptr.c (dlptr_free), ext/dl/handle.c (dlhandle_free), @@ -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); } |