From 2234edf0b1183e0d6f63ac093243fc6e23e15dd5 Mon Sep 17 00:00:00 2001 From: mrkn Date: Mon, 26 Feb 2018 07:57:15 +0000 Subject: Use RB_INTEGER_TYPE_P instead of rb_obj_is_kind_of For checking whether an object is an Integer, because a subclass of Integer is meaningless in Ruby, RB_INTEGER_TYPE_P is better than rb_obj_is_kind_of for speed. * object.c (rb_to_integer): Use RB_INTEGER_TYPE_P instead of rb_obj_is_kind_of. * object.c (rb_check_to_integer): ditto. * range.c (range_max): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- object.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'object.c') diff --git a/object.c b/object.c index f51d7d43fe..b04843eec8 100644 --- a/object.c +++ b/object.c @@ -3043,8 +3043,8 @@ rb_to_integer(VALUE val, const char *method) if (FIXNUM_P(val)) return val; if (RB_TYPE_P(val, T_BIGNUM)) return val; v = convert_type(val, "Integer", method, TRUE); - if (!rb_obj_is_kind_of(v, rb_cInteger)) { - conversion_mismatch(val, "Integer", method, v); + if (!RB_INTEGER_TYPE_P(v)) { + conversion_mismatch(val, "Integer", method, v); } return v; } @@ -3067,8 +3067,8 @@ rb_check_to_integer(VALUE val, const char *method) if (FIXNUM_P(val)) return val; if (RB_TYPE_P(val, T_BIGNUM)) return val; v = convert_type(val, "Integer", method, FALSE); - if (!rb_obj_is_kind_of(v, rb_cInteger)) { - return Qnil; + if (!RB_INTEGER_TYPE_P(v)) { + return Qnil; } return v; } -- cgit v1.2.3