summaryrefslogtreecommitdiffhomepage
path: root/src/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gc.c')
-rw-r--r--src/gc.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index 9a45049d2..006edea8e 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -284,6 +284,19 @@ mrb_init_heap(mrb_state *mrb)
#endif
}
+void
+mrb_free_heap(mrb_state *mrb)
+{
+ struct heap_page *page = mrb->heaps;
+ struct heap_page *tmp;
+
+ while (page) {
+ tmp = page;
+ page = page->next;
+ mrb_free(mrb, tmp);
+ }
+}
+
static void
gc_protect(mrb_state *mrb, struct RBasic *p)
{