mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
3409690957
* 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
18 lines
525 B
C
18 lines
525 B
C
#if defined __GNUC__
|
|
#warning use of RClass internals is deprecated
|
|
#elif defined _MSC_VER || defined __BORLANDC__
|
|
#pragma message("warning: use of RClass internals is deprecated")
|
|
#endif
|
|
|
|
#ifndef RUBY_BACKWARD_CLASSEXT_H
|
|
#define RUBY_BACKWARD_CLASSEXT_H 1
|
|
|
|
typedef struct rb_deprecated_classext_struct {
|
|
VALUE super;
|
|
} rb_deprecated_classext_t;
|
|
|
|
#undef RCLASS_SUPER(c)
|
|
#define RCLASS_EXT(c) ((rb_deprecated_classext_t *)RCLASS(c)->ptr)
|
|
#define RCLASS_SUPER(c) (RCLASS(c)->super)
|
|
|
|
#endif /* RUBY_BACKWARD_CLASSEXT_H */
|