summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-range-ext
diff options
context:
space:
mode:
authorcremno <[email protected]>2014-01-02 06:36:29 +0100
committercremno <[email protected]>2014-01-02 06:36:29 +0100
commit09bb30870b43feb967740842c3046372327b796b (patch)
tree1a22be2bab4c9f46d48e361bc78a9f933c8d5e02 /mrbgems/mruby-range-ext
parente8dd8180baae425c893e1054368a4c32c99ea805 (diff)
downloadmruby-09bb30870b43feb967740842c3046372327b796b.tar.gz
mruby-09bb30870b43feb967740842c3046372327b796b.zip
tiny word boxing optimization
Diffstat (limited to 'mrbgems/mruby-range-ext')
-rw-r--r--mrbgems/mruby-range-ext/src/range.c8
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;
}
/*