summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gc.c b/gc.c
index 0ae85c3eb4..dbb432b980 100644
--- a/gc.c
+++ b/gc.c
@@ -1718,6 +1718,7 @@ gc_mark_children(rb_objspace_t *objspace, VALUE ptr, int lev)
case T_MODULE:
mark_m_tbl(objspace, RCLASS_M_TBL(obj), lev);
mark_tbl(objspace, RCLASS_IV_TBL(obj), lev);
+ mark_tbl(objspace, RCLASS_CONST_TBL(obj), lev);
ptr = RCLASS_SUPER(obj);
goto again;
@@ -2179,6 +2180,9 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
if (RCLASS_IV_TBL(obj)) {
st_free_table(RCLASS_IV_TBL(obj));
}
+ if (RCLASS_CONST_TBL(obj)) {
+ st_free_table(RCLASS_CONST_TBL(obj));
+ }
if (RCLASS_IV_INDEX_TBL(obj)) {
st_free_table(RCLASS_IV_INDEX_TBL(obj));
}