From feaf80d8996340bd0316fda72418b1abd774bd59 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Thu, 26 Sep 2019 22:23:27 +0900 Subject: Use type predicate macros instead of `mrb_type` if possible For efficiency with `MRB_WORD_BOXING` (implement type predicate macros for all `enum mrb_vtype`). --- src/etc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/etc.c') diff --git a/src/etc.c b/src/etc.c index bf6586748..607e82ca1 100644 --- a/src/etc.c +++ b/src/etc.c @@ -24,7 +24,7 @@ mrb_data_object_alloc(mrb_state *mrb, struct RClass *klass, void *ptr, const mrb MRB_API void mrb_data_check_type(mrb_state *mrb, mrb_value obj, const mrb_data_type *type) { - if (mrb_type(obj) != MRB_TT_DATA) { + if (!mrb_data_p(obj)) { mrb_check_type(mrb, obj, MRB_TT_DATA); } if (DATA_TYPE(obj) != type) { @@ -44,7 +44,7 @@ mrb_data_check_type(mrb_state *mrb, mrb_value obj, const mrb_data_type *type) MRB_API void* mrb_data_check_get_ptr(mrb_state *mrb, mrb_value obj, const mrb_data_type *type) { - if (mrb_type(obj) != MRB_TT_DATA) { + if (!mrb_data_p(obj)) { return NULL; } if (DATA_TYPE(obj) != type) { -- cgit v1.2.3