path: root/object.c
diff options
authortmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-20 05:10:07 +0000
committertmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-20 05:10:07 +0000
commit3409690957ae57822ef18189c006068476c035ff (patch)
treea120872626eaeeb748c18c1b2b07e0dc642253db /object.c
parent41c42afddab5173c281fd1b6a8af2f522c540cc8 (diff)
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:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/object.c b/object.c
index 81c5c56..466ec75 100644
--- a/object.c
+++ b/object.c
@@ -1884,7 +1884,7 @@ rb_class_superclass(VALUE klass)
rb_class_get_superclass(VALUE klass)
- return RCLASS_EXT(klass)->super;
+ return RCLASS(klass)->super;
#define id_for_setter(name, type, message) \