summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-09-08 22:44:07 +0900
committerGitHub <[email protected]>2019-09-08 22:44:07 +0900
commit801343b56bf401e067880f2fd86e0aa3646c3c3f (patch)
tree36bd7aba85063f909cfffb8782fbdaa61d254cbb
parent9d08025b8b0fc9828120d48c61bde9c4ba49ce74 (diff)
parentd47bd0a2cd8b7458e5ba4c4af648be116a8c1afe (diff)
downloadmruby-801343b56bf401e067880f2fd86e0aa3646c3c3f.tar.gz
mruby-801343b56bf401e067880f2fd86e0aa3646c3c3f.zip
Merge pull request #4694 from shuujii/optimize-mrb_bool-with-MRB_WORD_BOXING
Optimize `mrb_bool()` with `MRB_WORD_BOXING`
-rw-r--r--include/mruby/boxing_word.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/mruby/boxing_word.h b/include/mruby/boxing_word.h
index acaae91d6..1a0c59ddb 100644
--- a/include/mruby/boxing_word.h
+++ b/include/mruby/boxing_word.h
@@ -110,7 +110,7 @@ MRB_API mrb_value mrb_word_boxing_float_pool(struct mrb_state*, mrb_float);
#else
#define mrb_symbol(o) BOXWORD_SHIFT_VALUE(o, SYMBOL, mrb_sym)
#endif
-#define mrb_bool(o) ((o).w != MRB_Qnil && (o).w != MRB_Qfalse)
+#define mrb_bool(o) (((o).w & ~(unsigned long)MRB_Qfalse) != 0)
#define mrb_immediate_p(o) ((o).w & MRB_IMMEDIATE_MASK || (o).w == MRB_Qnil)
#define mrb_fixnum_p(o) BOXWORD_SHIFT_VALUE_P(o, FIXNUM)