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

chromatic chromatic at wgz.org
Sun Feb 21 21:57:27 UTC 2010


This will only take effect for unoptimized builds; this isn't a problem, merely an observation.

bacek at svn.parrot.org wrote:

>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);
> }
> 
> /*
>_______________________________________________
>http://lists.parrot.org/mailman/listinfo/parrot-commits

Sent from my Android phone with K-9. Please excuse my brevity.


More information about the parrot-dev mailing list