[svn:parrot] r45127 - trunk/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Tue Mar 23 12:46:59 UTC 2010
Author: bacek
Date: Tue Mar 23 12:46:59 2010
New Revision: 45127
URL: https://trac.parrot.org/parrot/changeset/45127
Log:
More GC API fixes for mandatory implemented functions.
Modified:
trunk/src/gc/api.c
Modified: trunk/src/gc/api.c
==============================================================================
--- trunk/src/gc/api.c Tue Mar 23 12:46:36 2010 (r45126)
+++ trunk/src/gc/api.c Tue Mar 23 12:46:59 2010 (r45127)
@@ -252,13 +252,12 @@
};
/* Assertions that GC subsystem has complete API */
- PARROT_ASSERT(interp->gc_sys->destroy_child_interp);
-
PARROT_ASSERT(interp->gc_sys->do_gc_mark);
PARROT_ASSERT(interp->gc_sys->compact_string_pool);
- PARROT_ASSERT(interp->gc_sys->mark_special);
- PARROT_ASSERT(interp->gc_sys->pmc_needs_early_collection);
+ /* It should be mandatory. But there is abstraction leak in */
+ /* mark_foo_alive. */
+ /* PARROT_ASSERT(interp->gc_sys->mark_special); */
PARROT_ASSERT(interp->gc_sys->allocate_pmc_header);
PARROT_ASSERT(interp->gc_sys->free_pmc_header);
@@ -795,7 +794,8 @@
ARGIN(Interp *source_interp))
{
ASSERT_ARGS(Parrot_gc_destroy_child_interp)
- dest_interp->gc_sys->destroy_child_interp(dest_interp, source_interp);
+ if (dest_interp->gc_sys->destroy_child_interp)
+ dest_interp->gc_sys->destroy_child_interp(dest_interp, source_interp);
}
/*
More information about the parrot-commits
mailing list