Author: chromatic
Date: Sun Feb 10 15:25:01 2008
New Revision: 25633

Modified:
   trunk/src/gc/dod.c

Log:
[GC] After the mark phase of a GC run, sweep the STRING/Buffer pools too so
that we can free allocated memory for string contents and reuse allocated
headers.

Maybe our memory use will go down again now.

Fixes RT #47704, reported by Mehmet Yavuz Selim Soyturk.

Modified: trunk/src/gc/dod.c
==============================================================================
--- trunk/src/gc/dod.c  (original)
+++ trunk/src/gc/dod.c  Sun Feb 10 15:25:01 2008
@@ -1119,6 +1119,9 @@
     pt_DOD_start_mark(interp);
     Parrot_dod_ms_run_init(interp);
 
+    /* compact STRING pools to collect free headers and allocated buffers */
+    Parrot_go_collect(interp);
+
     /* Now go trace the PMCs */
     if (trace_active_PMCs(interp, flags & DOD_trace_stack_FLAG)) {
         int ignored;

Reply via email to