From d47bd0a2cd8b7458e5ba4c4af648be116a8c1afe Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Sun, 8 Sep 2019 12:17:25 +0900 Subject: Optimize `mrb_bool()` with `MRB_WORD_BOXING` --- include/mruby/boxing_word.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') 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) -- cgit v1.2.3