From d58620e0a1d03518a5cb49b954008d70ac7898d2 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sat, 14 Aug 2021 10:13:08 +0900 Subject: Rename labels in `Check_Type` more descriptive --- include/ruby/internal/value_type.h | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'include') diff --git a/include/ruby/internal/value_type.h b/include/ruby/internal/value_type.h index 1b4c651719..790fc3bc6b 100644 --- a/include/ruby/internal/value_type.h +++ b/include/ruby/internal/value_type.h @@ -337,25 +337,19 @@ static inline void Check_Type(VALUE v, enum ruby_value_type t) { if (RB_UNLIKELY(! RB_TYPE_P(v, t))) { - goto slowpath; + goto unexpected_type; } - else if (t != RUBY_T_DATA) { - goto fastpath; - } - else if (rbimpl_rtypeddata_p(v)) { + else if (t == RUBY_T_DATA && rbimpl_rtypeddata_p(v)) { /* The intention itself is not necessarily clear to me, but at least it * is intentional to rule out typed data here. See commit * a7c32bf81d3391cfb78cfda278f469717d0fb794. */ - goto slowpath; + goto unexpected_type; } else { - goto fastpath; + return; } - fastpath: - return; - - slowpath: /* <- :TODO: mark this label as cold. */ + unexpected_type: rb_unexpected_type(v, t); } -- cgit v1.2.3