diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-01-02 15:46:00 -0800 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-01-02 15:46:00 -0800 |
| commit | dc27c2be462771b0c28d90759851aaba26659991 (patch) | |
| tree | 6b4ea610a90ba5556726553801b755ca6035f892 /mrbgems | |
| parent | 1012c595f23df6016073b981f938cc24d0730cab (diff) | |
| parent | 09bb30870b43feb967740842c3046372327b796b (diff) | |
| download | mruby-dc27c2be462771b0c28d90759851aaba26659991.tar.gz mruby-dc27c2be462771b0c28d90759851aaba26659991.zip | |
Merge pull request #1634 from cremno/use-mrb_fixnum_p
tiny word boxing optimization
Diffstat (limited to 'mrbgems')
| -rw-r--r-- | mrbgems/mruby-range-ext/src/range.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/mrbgems/mruby-range-ext/src/range.c b/mrbgems/mruby-range-ext/src/range.c index 4e17dac8c..c980ecffd 100644 --- a/mrbgems/mruby-range-ext/src/range.c +++ b/mrbgems/mruby-range-ext/src/range.c @@ -7,7 +7,7 @@ r_le(mrb_state *mrb, mrb_value a, mrb_value b) mrb_value r = mrb_funcall(mrb, a, "<=>", 1, b); /* compare result */ /* output :a < b => -1, a = b => 0, a > b => +1 */ - if (mrb_type(r) == MRB_TT_FIXNUM) { + if (mrb_fixnum_p(r)) { mrb_int c = mrb_fixnum(r); if (c == 0 || c == -1) return TRUE; } @@ -21,11 +21,7 @@ r_lt(mrb_state *mrb, mrb_value a, mrb_value b) mrb_value r = mrb_funcall(mrb, a, "<=>", 1, b); /* output :a < b => -1, a = b => 0, a > b => +1 */ - if (mrb_type(r) == MRB_TT_FIXNUM) { - if (mrb_fixnum(r) == -1) return TRUE; - } - - return FALSE; + return mrb_fixnum_p(r) && mrb_fixnum(r) == -1; } /* |
