[svn:parrot] r44283 - branches/sys_mem_reduce/src/gc

bacek at svn.parrot.org bacek at svn.parrot.org
Sun Feb 21 21:52:29 UTC 2010


Author: bacek
Date: Sun Feb 21 21:52:28 2010
New Revision: 44283
URL: https://trac.parrot.org/parrot/changeset/44283

Log:
Add assertions to check that GC susbsystem has complete API

Modified:
   branches/sys_mem_reduce/src/gc/api.c

Modified: branches/sys_mem_reduce/src/gc/api.c
==============================================================================
--- branches/sys_mem_reduce/src/gc/api.c	Sun Feb 21 21:20:03 2010	(r44282)
+++ branches/sys_mem_reduce/src/gc/api.c	Sun Feb 21 21:52:28 2010	(r44283)
@@ -272,7 +272,54 @@
       default:
         /*die horribly because of invalid GC core specified*/
         break;
-    }
+    };
+
+    /* Assertions that GC subsystem has complete API */
+    PARROT_ASSERT(interp->gc_sys->finalize_gc_system);
+    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);
+
+    PARROT_ASSERT(interp->gc_sys->allocate_pmc_header);
+    PARROT_ASSERT(interp->gc_sys->free_pmc_header);
+
+    PARROT_ASSERT(interp->gc_sys->allocate_string_header);
+    PARROT_ASSERT(interp->gc_sys->free_string_header);
+
+    PARROT_ASSERT(interp->gc_sys->allocate_bufferlike_header);
+    PARROT_ASSERT(interp->gc_sys->free_bufferlike_header);
+
+    PARROT_ASSERT(interp->gc_sys->allocate_pmc_attributes);
+    PARROT_ASSERT(interp->gc_sys->free_pmc_attributes);
+
+    PARROT_ASSERT(interp->gc_sys->allocate_string_storage);
+    PARROT_ASSERT(interp->gc_sys->reallocate_string_storage);
+
+    PARROT_ASSERT(interp->gc_sys->allocate_buffer_storage);
+    PARROT_ASSERT(interp->gc_sys->reallocate_buffer_storage);
+
+    PARROT_ASSERT(interp->gc_sys->allocate_fixed_size_storage);
+    PARROT_ASSERT(interp->gc_sys->free_fixed_size_storage);
+
+    PARROT_ASSERT(interp->gc_sys->allocate_memory_chunk);
+    PARROT_ASSERT(interp->gc_sys->reallocate_memory_chunk);
+    PARROT_ASSERT(interp->gc_sys->allocate_memory_chunk_with_interior_pointers);
+    PARROT_ASSERT(interp->gc_sys->reallocate_memory_chunk_with_interior_pointers);
+    PARROT_ASSERT(interp->gc_sys->free_memory_chunk);
+
+    PARROT_ASSERT(interp->gc_sys->block_mark);
+    PARROT_ASSERT(interp->gc_sys->unblock_mark);
+    PARROT_ASSERT(interp->gc_sys->is_blocked_mark);
+
+    PARROT_ASSERT(interp->gc_sys->block_sweep);
+    PARROT_ASSERT(interp->gc_sys->unblock_sweep);
+    PARROT_ASSERT(interp->gc_sys->is_blocked_sweep);
+
+    PARROT_ASSERT(interp->gc_sys->get_gc_info);
 }
 
 /*


More information about the parrot-commits mailing list