Reduce calls to mrb_obj_is_kind_of()

This commit is contained in:
Yukihiro "Matz" Matsumoto
2023-02-15 11:25:23 +09:00
parent 235aaafef2
commit 2768fd62a0
3 changed files with 3 additions and 4 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ cmath_get_complex(mrb_state *mrb, mrb_value c, mrb_float *r, mrb_float *i)
*i = 0;
return FALSE;
}
else if (mrb_obj_is_kind_of(mrb, c, mrb_class_get(mrb, "Complex"))) {
else if (mrb_type(c) == MRB_TT_COMPLEX) {
mrb_complex_get(mrb, c, r, i);
return TRUE;
}
+2 -2
View File
@@ -208,7 +208,7 @@ mrb_exc_raise(mrb_state *mrb, mrb_value exc)
mrb->exc = mrb_obj_ptr(exc);
}
else {
if (!mrb_obj_is_kind_of(mrb, exc, E_EXCEPTION)) {
if (mrb_type(exc) != MRB_TT_EXCEPTION) {
mrb_raise(mrb, E_TYPE_ERROR, "exception object expected");
}
mrb_exc_set(mrb, exc);
@@ -499,7 +499,7 @@ exception_call:
break;
}
if (argc > 0) {
if (!mrb_obj_is_kind_of(mrb, mesg, E_EXCEPTION))
if (mrb_type(mesg) != MRB_TT_EXCEPTION)
mrb_raise(mrb, E_EXCEPTION, "exception object expected");
if (argc > 2)
set_backtrace(mrb, mesg, argv[2]);
-1
View File
@@ -311,7 +311,6 @@ range_eql(mrb_state *mrb, mrb_value range)
struct RRange *r, *o;
if (mrb_obj_equal(mrb, range, obj)) return mrb_true_value();
if (!mrb_obj_is_kind_of(mrb, obj, mrb->range_class)) return mrb_false_value();
if (!mrb_range_p(obj)) return mrb_false_value();
r = mrb_range_ptr(mrb, range);