diff options
author | Koichi Sasada <ko1@atdot.net> | 2020-10-21 23:57:44 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2020-10-21 23:57:44 +0900 |
commit | 3a97d361576d1cc198047d502c5165aa37b7f86e (patch) | |
tree | f778949fc96dff717365d55307a00625e23755b1 | |
parent | 89f6644de71b7dfbdbdba216a8667b9c3348203b (diff) |
refactoring frozen_shareable_p
-rw-r--r-- | ractor.c | 16 |
1 files changed, 6 insertions, 10 deletions
@@ -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 |