Skip to content
Browse files

Disable manual freeing of pmc/strings. It brakes invariant about sing…

…le copy of header in list. And we can't remove it from objects/strings list cheaply
  • Loading branch information...
1 parent 0df0d56 commit bee51f51fa675aaa10912197a6da028d42c94726 @bacek bacek committed
Showing with 6 additions and 0 deletions.
  1. +6 −0 src/gc/gc_gms.c
View
6 src/gc/gc_gms.c
@@ -1441,6 +1441,9 @@ gc_gms_free_pmc_header(PARROT_INTERP, ARGFREE(PMC *pmc))
ASSERT_ARGS(gc_gms_free_pmc_header)
MarkSweep_GC * const self = (MarkSweep_GC *)interp->gc_sys->gc_private;
+ /* We can't do it cheaply enough. */
+ return;
+
if (pmc) {
size_t gen = POBJ2GEN(pmc);
@@ -1532,6 +1535,9 @@ gc_gms_free_string_header(PARROT_INTERP, ARGFREE(STRING *s))
{
ASSERT_ARGS(gc_gms_free_string_header)
+ /* We can't do it cheaply enough. */
+ return;
+
if (s && !PObj_on_free_list_TEST(s)) {
MarkSweep_GC * const self = (MarkSweep_GC *)interp->gc_sys->gc_private;
const size_t gen = POBJ2GEN(s);

0 comments on commit bee51f5

Please sign in to comment.
Something went wrong with that request. Please try again.