Project

General

Profile

« Previous | Next » 

Revision c19d3737

Added by ko1 (Koichi Sasada) about 10 years ago

  • method.h: back to share rb_method_definition_t by
    rb_method_entry_t.
    r50728 changed sharing def's to isolating def's
    on alias and so on. However, this change conflicts
    future improvement plan. So I change back to sharing approach.
  • method.h: move rb_method_definition_t::flags to
    rb_method_entry_t::attr::flags.
    rb_method_entry_t::attr is union with VALUE because this field
    should have same size of VALUE. rb_method_entry_t is T_IMEMO).
    And also add the following access macros to it's fileds.
    • METHOD_ENTRY_VISI(me)
    • METHOD_ENTRY_BASIC(me)
    • METHOD_ENTRY_SAFE(me)
  • vm_method.c (rb_method_definition_addref): added instead of
    rb_method_definition_clone().
    Do not create new definition, but increment alias_count.
  • class.c (clone_method): catch up this fix.
  • class.c (method_entry_i): ditto.
  • proc.c (mnew_internal): ditto.
  • proc.c (mnew_missing): ditto.
  • vm_eval.c: ditto.
  • vm_insnhelper.c: ditto.
  • vm_method.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e