Skip to content
  • Aman Gupta's avatar
    34096909
    ruby.h: swap iv_index_tbl and super for struct RClass · 34096909
    Aman Gupta authored
    * include/ruby/ruby.h (struct RClass): add super, remove iv_index_tbl.
      since RCLASS_SUPER() is commonly used inside while loops, we move it
      back inside struct RClass to improve cache hits. this provides a
      small improvement (1%) in hotspots like rb_obj_is_kind_of()
    * internal.h (struct rb_classext_struct): remove super, add
      iv_index_table
    * internal.h (RCLASS_SUPER): update for new location
    * internal.h (RCLASS_SET_SUPER): ditto
    * internal.h (RCLASS_IV_INDEX_TBL): ditto
    * object.c (rb_class_get_superclass): ditto
    * include/ruby/backward/classext.h (RCLASS_SUPER): ditto
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    34096909
    ruby.h: swap iv_index_tbl and super for struct RClass
    Aman Gupta authored
    * include/ruby/ruby.h (struct RClass): add super, remove iv_index_tbl.
      since RCLASS_SUPER() is commonly used inside while loops, we move it
      back inside struct RClass to improve cache hits. this provides a
      small improvement (1%) in hotspots like rb_obj_is_kind_of()
    * internal.h (struct rb_classext_struct): remove super, add
      iv_index_table
    * internal.h (RCLASS_SUPER): update for new location
    * internal.h (RCLASS_SET_SUPER): ditto
    * internal.h (RCLASS_IV_INDEX_TBL): ditto
    * object.c (rb_class_get_superclass): ditto
    * include/ruby/backward/classext.h (RCLASS_SUPER): ditto
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Loading