diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-03 22:27:51 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-03 22:27:51 +0000 |
commit | 9e73d45e0f38fddc7a117c5bc2eab103573e5986 (patch) | |
tree | c399c77a5b8318be4521dbf0033214fcbed0d601 /class.c | |
parent | 9375ff5b06704b2fbad3f740cecf10399786acfd (diff) | |
download | ruby-9e73d45e0f38fddc7a117c5bc2eab103573e5986.tar.gz |
* method.h: introduce rb_method_refined_t for refined method entry.
* class.c (move_refined_method): catch up this fix.
* gc.c (mark_method_entry): ditto.
* vm_eval.c (vm_call0_body): ditto.
* vm_insnhelper.c (vm_call_method): ditto.
* vm_method.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'class.c')
-rw-r--r-- | class.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -913,9 +913,9 @@ move_refined_method(st_data_t key, st_data_t value, st_data_t data) st_table *tbl = (st_table *) data; if (me->def->type == VM_METHOD_TYPE_REFINED) { - if (me->def->body.orig_me) { - rb_method_entry_t *orig_me = me->def->body.orig_me, *new_me; - me->def->body.orig_me = NULL; + if (me->def->body.refined.orig_me) { + rb_method_entry_t *orig_me = me->def->body.refined.orig_me, *new_me; + me->def->body.refined.orig_me = NULL; new_me = rb_method_entry_clone(me); st_add_direct(tbl, key, (st_data_t) new_me); rb_method_entry_copy(me, orig_me); |