Rename labels in `Check_Type` more descriptive

This commit is contained in:
Nobuyoshi Nakada 2021-08-14 10:13:08 +09:00
Родитель 9f88135f78
Коммит d58620e0a1
1 изменённых файлов: 5 добавлений и 11 удалений

Просмотреть файл

@ -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);
}