summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorMatt Valentine-House <matt@eightbitraptor.com>2021-01-26 16:56:16 +0000
committerAaron Patterson <aaron.patterson@gmail.com>2021-02-01 08:42:54 -0800
commite3ef21c3077c4b45edb44c06b0d580a4c913c557 (patch)
tree9f65a10e596f57fd410b29bc2252bf99f36fe74b /gc.c
parente0f999a2ed8b1b9298e51d5dfa902044709ce00a (diff)
Use RCLASS_EXT macro instead of directly accessing ptr
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4124
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gc.c b/gc.c
index b1e115faf0..2d76b54509 100644
--- a/gc.c
+++ b/gc.c
@@ -2847,9 +2847,9 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
}
rb_class_remove_from_module_subclasses(obj);
rb_class_remove_from_super_subclasses(obj);
- if (RANY(obj)->as.klass.ptr)
- xfree(RANY(obj)->as.klass.ptr);
- RANY(obj)->as.klass.ptr = NULL;
+ if (RCLASS_EXT(obj))
+ xfree(RCLASS_EXT(obj));
+ RCLASS_EXT(obj) = NULL;
(void)RB_DEBUG_COUNTER_INC_IF(obj_module_ptr, BUILTIN_TYPE(obj) == T_MODULE);
(void)RB_DEBUG_COUNTER_INC_IF(obj_class_ptr, BUILTIN_TYPE(obj) == T_CLASS);
@@ -3015,8 +3015,8 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
cc_table_free(objspace, obj, FALSE);
rb_class_remove_from_module_subclasses(obj);
rb_class_remove_from_super_subclasses(obj);
- xfree(RANY(obj)->as.klass.ptr);
- RANY(obj)->as.klass.ptr = NULL;
+ xfree(RCLASS_EXT(obj));
+ RCLASS_EXT(obj) = NULL;
RB_DEBUG_COUNTER_INC(obj_iclass_ptr);
break;