summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-14 10:13:08 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-14 23:11:58 +0900
commitd58620e0a1d03518a5cb49b954008d70ac7898d2 (patch)
treee2ef3ffe423b6e4c7df7988982a3a92c97a62fba
parent9f88135f7885be93eb790b985b93e0646dae81ac (diff)
Rename labels in `Check_Type` more descriptive
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4741
-rw-r--r--include/ruby/internal/value_type.h16
1 files changed, 5 insertions, 11 deletions
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);
}