From 3409690957ae57822ef18189c006068476c035ff Mon Sep 17 00:00:00 2001 From: tmm1 Date: Fri, 20 Dec 2013 05:10:07 +0000 Subject: ruby.h: swap iv_index_tbl and super for struct RClass * 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 --- object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'object.c') diff --git a/object.c b/object.c index 81c5c5643f..466ec75492 100644 --- a/object.c +++ b/object.c @@ -1884,7 +1884,7 @@ rb_class_superclass(VALUE klass) VALUE rb_class_get_superclass(VALUE klass) { - return RCLASS_EXT(klass)->super; + return RCLASS(klass)->super; } #define id_for_setter(name, type, message) \ -- cgit v1.2.3