summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authormrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-02-14 15:29:04 +0000
committermrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-02-14 15:29:04 +0000
commit7570864267cb258e2d29881e37cb3b8a6930727a (patch)
treedeecc89b65c61da5f198204d618c66b200c01ae3 /include
parentcb57336e86dbe9c21fd8bc447912256843fe6b26 (diff)
Introduce RVALUE_EMBED_LEN_MAX to remove a magic number
* include/ruby/ruby.h: replace a magic number with RVALUE_EMBED_LEN_MAX, which indicates the number of VALUE elements can be embedded in a RVALUE. * internal.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include')
-rw-r--r--include/ruby/ruby.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h
index d983114e0a..11387b540a 100644
--- a/include/ruby/ruby.h
+++ b/include/ruby/ruby.h
@@ -903,10 +903,15 @@ VALUE rb_obj_reveal(VALUE obj, VALUE klass); /* do not use this API to change kl
#define RBASIC_CLASS(obj) (RBASIC(obj)->klass)
+#define RVALUE_EMBED_LEN_MAX RVALUE_EMBED_LEN_MAX
+enum ruby_rvalue_flags {
+ RVALUE_EMBED_LEN_MAX = 3,
+};
+
#define ROBJECT_EMBED_LEN_MAX ROBJECT_EMBED_LEN_MAX
#define ROBJECT_EMBED ROBJECT_EMBED
enum ruby_robject_flags {
- ROBJECT_EMBED_LEN_MAX = 3,
+ ROBJECT_EMBED_LEN_MAX = RVALUE_EMBED_LEN_MAX,
ROBJECT_EMBED = RUBY_FL_USER1,
ROBJECT_ENUM_END
@@ -972,7 +977,7 @@ enum ruby_rstring_flags {
RSTRING_EMBED_LEN_MASK = (RUBY_FL_USER2|RUBY_FL_USER3|RUBY_FL_USER4|
RUBY_FL_USER5|RUBY_FL_USER6),
RSTRING_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+2),
- RSTRING_EMBED_LEN_MAX = (int)((sizeof(VALUE)*3)/sizeof(char)-1),
+ RSTRING_EMBED_LEN_MAX = (int)((sizeof(VALUE)*RVALUE_EMBED_LEN_MAX)/sizeof(char)-1),
RSTRING_FSTR = RUBY_FL_USER17,
RSTRING_ENUM_END
@@ -1018,7 +1023,7 @@ struct RString {
#endif
enum ruby_rarray_flags {
- RARRAY_EMBED_LEN_MAX = 3,
+ RARRAY_EMBED_LEN_MAX = RVALUE_EMBED_LEN_MAX,
RARRAY_EMBED_FLAG = RUBY_FL_USER1,
/* RUBY_FL_USER2 is for ELTS_SHARED */
RARRAY_EMBED_LEN_MASK = (RUBY_FL_USER4|RUBY_FL_USER3),