[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