mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* method.h: constify rb_method_alias_struct::original_me and
rb_method_refined_struct::orig_me. * class.c (move_refined_method): use RB_OBJ_WRITE() for me->def->body.refined.orig_me. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
37b38306e8
commit
c8590d60f1
3 changed files with 11 additions and 3 deletions
|
@ -1,3 +1,11 @@
|
|||
Thu Jun 18 16:58:35 2015 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* method.h: constify rb_method_alias_struct::original_me and
|
||||
rb_method_refined_struct::orig_me.
|
||||
|
||||
* class.c (move_refined_method): use RB_OBJ_WRITE() for
|
||||
me->def->body.refined.orig_me.
|
||||
|
||||
Thu Jun 18 14:35:28 2015 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* ext/objspace/objspace.c (count_imemo_objects): support imemo_ment.
|
||||
|
|
2
class.c
2
class.c
|
@ -915,7 +915,7 @@ move_refined_method(st_data_t key, st_data_t value, st_data_t data)
|
|||
if (me->def->type == VM_METHOD_TYPE_REFINED) {
|
||||
if (me->def->body.refined.orig_me) {
|
||||
const rb_method_entry_t *orig_me = me->def->body.refined.orig_me, *new_me;
|
||||
me->def->body.refined.orig_me = NULL;
|
||||
RB_OBJ_WRITE(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);
|
||||
|
|
4
method.h
4
method.h
|
@ -122,11 +122,11 @@ typedef struct rb_method_attr_struct {
|
|||
} rb_method_attr_t;
|
||||
|
||||
typedef struct rb_method_alias_struct {
|
||||
const struct rb_method_entry_struct *original_me; /* original_me->klass is original owner */
|
||||
const struct rb_method_entry_struct * const original_me; /* original_me->klass is original owner */
|
||||
} rb_method_alias_t;
|
||||
|
||||
typedef struct rb_method_refined_struct {
|
||||
const struct rb_method_entry_struct *orig_me;
|
||||
const struct rb_method_entry_struct * const orig_me;
|
||||
} rb_method_refined_t;
|
||||
|
||||
typedef struct rb_method_definition_struct {
|
||||
|
|
Loading…
Reference in a new issue