Skip to content
Browse files

More GC API fixes for mandatory implemented functions.

git-svn-id: https://svn.parrot.org/parrot/trunk@45127 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
  • Loading branch information...
1 parent 466800d commit 7b9b36a488678bf33b2a1a3d006dbe76a237f931 @bacek bacek committed Mar 23, 2010
Showing with 5 additions and 5 deletions.
  1. +5 −5 src/gc/api.c
View
10 src/gc/api.c
@@ -252,13 +252,12 @@ Parrot_gc_initialize(PARROT_INTERP, ARGIN(void *stacktop))
};
/* 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 @@ Parrot_gc_destroy_child_interp(ARGMOD(Interp *dest_interp),
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);
}
/*

0 comments on commit 7b9b36a

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