summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2020-10-21 23:57:44 +0900
committerKoichi Sasada <ko1@atdot.net>2020-10-21 23:57:44 +0900
commit3a97d361576d1cc198047d502c5165aa37b7f86e (patch)
treef778949fc96dff717365d55307a00625e23755b1
parent89f6644de71b7dfbdbdba216a8667b9c3348203b (diff)
refactoring frozen_shareable_p
-rw-r--r--ractor.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/ractor.c b/ractor.c
index 93a1fc59fd..2cf34cb392 100644
--- a/ractor.c
+++ b/ractor.c
@@ -2065,18 +2065,14 @@ rb_obj_traverse(VALUE obj,
static int
frozen_shareable_p(VALUE obj)
{
- switch (BUILTIN_TYPE(obj)) {
- case T_DATA:
- if (RTYPEDDATA_P(obj)) {
- const rb_data_type_t *type = RTYPEDDATA_TYPE(obj);
- if (type->flags & RUBY_TYPED_FROZEN_SHAREABLE) {
- return true;
- }
- }
- return false;
- default:
+ if (!RB_TYPE_P(obj, T_DATA) ||
+ (RTYPEDDATA_P(obj) &&
+ RTYPEDDATA_TYPE(obj)->flags & RUBY_TYPED_FROZEN_SHAREABLE)) {
return true;
}
+ else {
+ return false;
+ }
}
static int