From 64a76ee8a80fd5b0d030f89223c3ec846fb86f9d Mon Sep 17 00:00:00 2001 From: mame Date: Thu, 17 Mar 2016 15:18:59 +0000 Subject: [PATCH] * numeric.c (num_step): use rb_equal for zero check. rb_num_coerce_cmp created an object which caused extra overhead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ numeric.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e2f7a3f98e..a080976c02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Mar 18 00:15:05 2016 Yusuke Endoh + + * numeric.c (num_step): use rb_equal for zero check. rb_num_coerce_cmp + created an object which caused extra overhead. + Thu Mar 17 22:21:34 2016 Nobuyoshi Nakada * include/ruby/ruby.h (RB_GC_GUARD_PTR): remove intermediate diff --git a/numeric.c b/numeric.c index 7f43fdb2a5..2c382bb498 100644 --- a/numeric.c +++ b/numeric.c @@ -2224,7 +2224,7 @@ num_step(int argc, VALUE *argv, VALUE from) RETURN_SIZED_ENUMERATOR(from, argc, argv, num_step_size); desc = num_step_scan_args(argc, argv, &to, &step); - if (RTEST(rb_num_coerce_cmp(step, INT2FIX(0), id_eq))) { + if (rb_equal(step, INT2FIX(0))) { inf = 1; } else if (RB_TYPE_P(to, T_FLOAT)) {