[svn:parrot] r49158 - branches/gc_massacre/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Sun Sep 19 09:04:51 UTC 2010
Author: bacek
Date: Sun Sep 19 09:04:51 2010
New Revision: 49158
URL: https://trac.parrot.org/parrot/changeset/49158
Log:
Properly free allocated string memory.
Modified:
branches/gc_massacre/src/gc/gc_ms2.c
Modified: branches/gc_massacre/src/gc/gc_ms2.c
==============================================================================
--- branches/gc_massacre/src/gc/gc_ms2.c Sun Sep 19 08:58:13 2010 (r49157)
+++ branches/gc_massacre/src/gc/gc_ms2.c Sun Sep 19 09:04:51 2010 (r49158)
@@ -802,7 +802,7 @@
PObj_on_free_list_SET(s);
if (Buffer_bufstart(s) && !PObj_external_TEST(s))
- mem_sys_free(Buffer_bufstart(s));
+ Parrot_gc_str_free_buffer_storage(interp, &self->string_gc, (Buffer *)s);
Parrot_gc_pool_free(interp, self->string_allocator, Obj2LLH(s));
@@ -917,10 +917,11 @@
gc_ms2_sweep_string_cb(PARROT_INTERP, ARGIN(PObj *obj))
{
ASSERT_ARGS(gc_ms2_sweep_string_cb)
- STRING *str = (STRING *)obj;
+ MarkSweep_GC *self = (MarkSweep_GC *)interp->gc_sys->gc_private;
+ STRING *str = (STRING *)obj;
/* Compact string pool here. Or get rid of "shared buffers" and just free storage */
if (Buffer_bufstart(str) && !PObj_external_TEST(str))
- mem_sys_free(Buffer_bufstart(str));
+ Parrot_gc_str_free_buffer_storage(interp, &self->string_gc, str);
}
More information about the parrot-commits
mailing list