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;