[svn:parrot] r40563 - in branches/pmc_sans_unionval: include/parrot src/gc

whiteknight at svn.parrot.org whiteknight at svn.parrot.org
Sat Aug 15 13:58:23 UTC 2009


Author: whiteknight
Date: Sat Aug 15 13:58:21 2009
New Revision: 40563
URL: https://trac.parrot.org/parrot/changeset/40563

Log:
[pmc_sans_unionval] some codestd fixes

Modified:
   branches/pmc_sans_unionval/include/parrot/gc_api.h
   branches/pmc_sans_unionval/src/gc/alloc_resources.c
   branches/pmc_sans_unionval/src/gc/api.c
   branches/pmc_sans_unionval/src/gc/gc_private.h
   branches/pmc_sans_unionval/src/gc/mark_sweep.c

Modified: branches/pmc_sans_unionval/include/parrot/gc_api.h
==============================================================================
--- branches/pmc_sans_unionval/include/parrot/gc_api.h	Sat Aug 15 13:15:44 2009	(r40562)
+++ branches/pmc_sans_unionval/include/parrot/gc_api.h	Sat Aug 15 13:58:21 2009	(r40563)
@@ -232,9 +232,6 @@
 void Parrot_gc_destroy_memory_pools(PARROT_INTERP)
         __attribute__nonnull__(1);
 
-UINTVAL Parrot_gc_extended_pmcs(PARROT_INTERP)
-        __attribute__nonnull__(1);
-
 void Parrot_gc_finalize(PARROT_INTERP)
         __attribute__nonnull__(1);
 
@@ -416,8 +413,6 @@
 #define ASSERT_ARGS_Parrot_gc_destroy_memory_pools \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(interp)
-#define ASSERT_ARGS_Parrot_gc_extended_pmcs __attribute__unused__ int _ASSERT_ARGS_CHECK = \
-       PARROT_ASSERT_ARG(interp)
 #define ASSERT_ARGS_Parrot_gc_finalize __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(interp)
 #define ASSERT_ARGS_Parrot_gc_free_bufferlike_header \

Modified: branches/pmc_sans_unionval/src/gc/alloc_resources.c
==============================================================================
--- branches/pmc_sans_unionval/src/gc/alloc_resources.c	Sat Aug 15 13:15:44 2009	(r40562)
+++ branches/pmc_sans_unionval/src/gc/alloc_resources.c	Sat Aug 15 13:58:21 2009	(r40563)
@@ -277,7 +277,7 @@
 
 /*
 
-=item C<static void debug_print_buf(PARROT_INTERP, const PObj *b)>
+=item C<static void debug_print_buf(PARROT_INTERP, const Buffer *b)>
 
 Prints a debug statement with information about the given PObj C<b>.
 =cut
@@ -704,9 +704,8 @@
     while (cur_block) {
         Memory_Block * const next_block = cur_block->prev;
 
-        if (cur_block->free == cur_block->size) {
+        if (cur_block->free == cur_block->size)
             mem_internal_free(cur_block);
-        }
         else {
             cur_block->next        = NULL;
             cur_block->prev        = dest->top_block;
@@ -728,22 +727,6 @@
 
 /*
 
-=back
-
-=head1 SEE ALSO
-
-F<src/gc/memory.c>.
-
-=head1 HISTORY
-
-Initial version by Dan on 2001.10.2.
-
-=cut
-
-*/
-
-/*
-
 =item C<void check_memory_system(PARROT_INTERP)>
 
 Checks the memory system of parrot on any corruptions, including
@@ -753,25 +736,25 @@
 
 */
 
-void
+static void
 check_memory_system(PARROT_INTERP)
 {
-  size_t i;
-  Arenas * const arena_base = interp->arena_base;
+    ASSERT_ARGS(check_memory_system
+    size_t i;
+    Arenas * const arena_base = interp->arena_base;
 
-  check_memory_pool(arena_base->memory_pool);
-  check_memory_pool(arena_base->constant_string_pool);
-  check_small_object_pool(arena_base->pmc_pool);
-  check_small_object_pool(arena_base->constant_pmc_pool);
-  check_small_object_pool(arena_base->string_header_pool);
-  check_small_object_pool(arena_base->constant_string_header_pool);
-
-  for(i = 0;i < arena_base->num_sized;i++)
-  {
-      Small_Object_Pool * pool = arena_base->sized_header_pools[i];
-      if(pool != NULL && pool != arena_base->string_header_pool)
-        check_small_object_pool(pool);
-  }
+    check_memory_pool(arena_base->memory_pool);
+    check_memory_pool(arena_base->constant_string_pool);
+    check_small_object_pool(arena_base->pmc_pool);
+    check_small_object_pool(arena_base->constant_pmc_pool);
+    check_small_object_pool(arena_base->string_header_pool);
+    check_small_object_pool(arena_base->constant_string_header_pool);
+
+    for (i = 0;i < arena_base->num_sized;i++) {
+        Small_Object_Pool * pool = arena_base->sized_header_pools[i];
+        if (pool != NULL && pool != arena_base->string_header_pool)
+            check_small_object_pool(pool);
+    }
 }
 
 /*
@@ -784,9 +767,10 @@
 
 */
 
-void
-check_small_object_pool(Small_Object_Pool * pool)
+static void
+check_small_object_pool(ARGMOD(Small_Object_Pool * pool))
 {
+    ASSERT_ARGS(check_small_object_pool)
     size_t total_objects;
     size_t last_free_list_count;
     Small_Object_Arena * arena_walker;
@@ -803,38 +787,31 @@
     free_objects = 0;
 
     arena_walker = pool->last_Arena;
-    while(arena_walker != NULL)
-    {
-  	    total_objects -= arena_walker->total_objects;
-	    object = (PObj*)arena_walker->start_objects;
-	    for(i = 0;i < arena_walker->total_objects;++i)
-	    {
-	    	if(PObj_on_free_list_TEST(object))
-	    	{
-	          ++free_objects;
-	          pobj_walker = (GC_MS_PObj_Wrapper*)object;
-	          if(pobj_walker->next_ptr == NULL)
-	          {
-	        	  --last_free_list_count; //should happen only ones at the end
-	          }
-	          else
-	          {   /*next item on free list should also be flaged as free item*/
-	        	  pobj_walker = (GC_MS_PObj_Wrapper*)pobj_walker->next_ptr;
-	        	  PARROT_ASSERT(PObj_on_free_list_TEST((PObj*)pobj_walker));
-	          }
-	    	}
-	    	else if(pool->mem_pool != NULL) /*then it means we are a buffer*/
-	    	{
-	    	  check_buffer_ptr((Buffer*)object,pool->mem_pool);
-	    	}
-	    	object = (PObj*)((char *)object + pool->object_size);
-	    	PARROT_ASSERT(--count);
-	    }
-	    /*check the list*/
-	    if(arena_walker->prev != NULL)
-	    {
-	        PARROT_ASSERT(arena_walker->prev->next == arena_walker);
-	    }
+    while (arena_walker != NULL) {
+        total_objects -= arena_walker->total_objects;
+        object = (PObj*)arena_walker->start_objects;
+        for (i = 0;i < arena_walker->total_objects;++i) {
+            if (PObj_on_free_list_TEST(object)) {
+                ++free_objects;
+                pobj_walker = (GC_MS_PObj_Wrapper*)object;
+                if (pobj_walker->next_ptr == NULL)
+                    --last_free_list_count; //should happen only ones at the end
+                else {
+                    /*next item on free list should also be flaged as free item*/
+                    pobj_walker = (GC_MS_PObj_Wrapper*)pobj_walker->next_ptr;
+                    PARROT_ASSERT(PObj_on_free_list_TEST((PObj*)pobj_walker));
+                }
+            }
+            else if (pool->mem_pool != NULL) {
+                /*then it means we are a buffer*/
+                check_buffer_ptr((Buffer*)object,pool->mem_pool);
+            }
+            object = (PObj*)((char *)object + pool->object_size);
+            PARROT_ASSERT(--count);
+        }
+        /*check the list*/
+        if (arena_walker->prev != NULL)
+            PARROT_ASSERT(arena_walker->prev->next == arena_walker);
         arena_walker = arena_walker->prev;
         PARROT_ASSERT(--count);
     }
@@ -844,14 +821,13 @@
     PARROT_ASSERT(free_objects == pool->num_free_objects);
 
     pobj_walker = (GC_MS_PObj_Wrapper*)pool->free_list;
-    while(pobj_walker != NULL)
-    {
-    	PARROT_ASSERT(pool->start_arena_memory <= (size_t)pobj_walker);
-    	PARROT_ASSERT(pool->end_arena_memory > (size_t)pobj_walker);
-    	PARROT_ASSERT(PObj_on_free_list_TEST((PObj*)pobj_walker));
-    	--free_objects;
-	    pobj_walker = (GC_MS_PObj_Wrapper*)pobj_walker->next_ptr;
-	    PARROT_ASSERT(--count);
+    while (pobj_walker != NULL) {
+        PARROT_ASSERT(pool->start_arena_memory <= (size_t)pobj_walker);
+        PARROT_ASSERT(pool->end_arena_memory > (size_t)pobj_walker);
+        PARROT_ASSERT(PObj_on_free_list_TEST((PObj*)pobj_walker));
+        --free_objects;
+        pobj_walker = (GC_MS_PObj_Wrapper*)pobj_walker->next_ptr;
+        PARROT_ASSERT(--count);
     }
 
     PARROT_ASSERT(total_objects == 0);
@@ -869,27 +845,27 @@
 
 */
 
-void
-check_memory_pool(Memory_Pool *pool)
+static void
+check_memory_pool(ARGMOD(Memory_Pool *pool))
 {
+    ASSERT_ARGS(check_memory_pool)
     size_t count;
     Memory_Block * block_walker;
     count = 10000000; /*detect unendless loop just use big enough number*/
 
-	block_walker = (Memory_Block *)pool->top_block;
-	while(block_walker != NULL)
-	{
-		PARROT_ASSERT(block_walker->start == (char *)block_walker + sizeof (Memory_Block));
-	    PARROT_ASSERT((size_t)(block_walker->top - block_walker->start) == block_walker->size - block_walker->free);
+    block_walker = (Memory_Block *)pool->top_block;
+    while (block_walker != NULL) {
+        PARROT_ASSERT(block_walker->start == (char *)block_walker +
+            sizeof (Memory_Block));
+        PARROT_ASSERT((size_t)(block_walker->top -
+            block_walker->start) == block_walker->size - block_walker->free);
 
         /*check the list*/
-	    if(block_walker->prev != NULL)
-	    {
-	        PARROT_ASSERT(block_walker->prev->next == block_walker);
-	    }
+        if (block_walker->prev != NULL)
+            PARROT_ASSERT(block_walker->prev->next == block_walker);
         block_walker = block_walker->prev;
         PARROT_ASSERT(--count);
-	}
+    }
 }
 
 /*
@@ -910,31 +886,34 @@
 
     bufstart = (char*)Buffer_bufstart(pobj);
 
-    if(bufstart == NULL && Buffer_buflen(pobj) == 0)
+    if (bufstart == NULL && Buffer_buflen(pobj) == 0)
         return;
 
-    if(PObj_external_TEST(pobj) || PObj_sysmem_TEST(pobj)) /*buffer does not come from the memory pool*/
-    {
-        if (PObj_is_string_TEST(pobj))
-        {
-            PARROT_ASSERT(((STRING *) pobj)->strstart >= (char *) Buffer_bufstart(pobj));
-            PARROT_ASSERT(((STRING *) pobj)->strstart + ((STRING *) pobj)->strlen <= (char *) Buffer_bufstart(pobj) + Buffer_buflen(pobj));
+    if (PObj_external_TEST(pobj) || PObj_sysmem_TEST(pobj)) {
+        /*buffer does not come from the memory pool*/
+        if (PObj_is_string_TEST(pobj)) {
+            PARROT_ASSERT(((STRING *) pobj)->strstart >=
+                (char *) Buffer_bufstart(pobj));
+            PARROT_ASSERT(((STRING *) pobj)->strstart +
+                ((STRING *) pobj)->strlen <=
+                (char *) Buffer_bufstart(pobj) + Buffer_buflen(pobj));
         }
         return;
     }
 
-    if(PObj_is_COWable_TEST(pobj))
+    if (PObj_is_COWable_TEST(pobj))
         bufstart -= sizeof (void*);
 
-    while (cur_block)
-    {
+    while (cur_block) {
         if ((char *)bufstart >= cur_block->start &&
-            (char *)Buffer_bufstart(pobj) + Buffer_buflen(pobj) < cur_block->start + cur_block->size)
-        {
-            if (PObj_is_string_TEST(pobj))
-            {
-                PARROT_ASSERT(((STRING *)pobj)->strstart >= (char *)Buffer_bufstart(pobj));
-                PARROT_ASSERT(((STRING *)pobj)->strstart + ((STRING *)pobj)->strlen <= (char *)Buffer_bufstart(pobj) + Buffer_buflen(pobj));
+            (char *)Buffer_bufstart(pobj) +
+            Buffer_buflen(pobj) < cur_block->start + cur_block->size) {
+            if (PObj_is_string_TEST(pobj)) {
+                PARROT_ASSERT(((STRING *)pobj)->strstart >=
+                    (char *)Buffer_bufstart(pobj));
+                PARROT_ASSERT(((STRING *)pobj)->strstart +
+                    ((STRING *)pobj)->strlen <= (char *)Buffer_bufstart(pobj) +
+                    Buffer_buflen(pobj));
             }
             return;
         }
@@ -944,6 +923,22 @@
 }
 
 /*
+
+=back
+
+=head1 SEE ALSO
+
+F<src/gc/memory.c>.
+
+=head1 HISTORY
+
+Initial version by Dan on 2001.10.2.
+
+=cut
+
+*/
+
+/*
  * Local variables:
  *   c-file-style: "parrot"
  * End:

Modified: branches/pmc_sans_unionval/src/gc/api.c
==============================================================================
--- branches/pmc_sans_unionval/src/gc/api.c	Sat Aug 15 13:15:44 2009	(r40562)
+++ branches/pmc_sans_unionval/src/gc/api.c	Sat Aug 15 13:58:21 2009	(r40563)
@@ -579,7 +579,7 @@
 
 /*
 
-=item C<void Parrot_gc_free_bufferlike_header(PARROT_INTERP, PObj *obj, size_t
+=item C<void Parrot_gc_free_bufferlike_header(PARROT_INTERP, Buffer *obj, size_t
 size)>
 
 Free a bufferlike header that is not being used, so that Parrot can recycle

Modified: branches/pmc_sans_unionval/src/gc/gc_private.h
==============================================================================
--- branches/pmc_sans_unionval/src/gc/gc_private.h	Sat Aug 15 13:15:44 2009	(r40562)
+++ branches/pmc_sans_unionval/src/gc/gc_private.h	Sat Aug 15 13:58:21 2009	(r40563)
@@ -528,6 +528,12 @@
 PARROT_WARN_UNUSED_RESULT
 size_t aligned_string_size(size_t len);
 
+void check_buffer_ptr(Buffer * pobj, Memory_Pool * pool);
+void check_memory_pool(Memory_Pool *pool);
+void check_memory_system(PARROT_INTERP)
+        __attribute__nonnull__(1);
+
+void check_small_object_pool(Small_Object_Pool * pool);
 void compact_pool(PARROT_INTERP, ARGMOD(Memory_Pool *pool))
         __attribute__nonnull__(1)
         __attribute__nonnull__(2)
@@ -548,31 +554,18 @@
         __attribute__nonnull__(2)
         FUNC_MODIFIES(*dest)
         FUNC_MODIFIES(*source);
-        
-void check_memory_system(PARROT_INTERP)
-        __attribute__nonnull__(1);    
-      
-void check_memory_system(PARROT_INTERP)
-        __attribute__nonnull__(1);  
-        
-void check_small_object_pool(Small_Object_Pool * pool)                    
-        __attribute__nonnull__(1);
 
-void
-check_memory_pool(Memory_Pool *pool)
-        __attribute__nonnull__(1);
-        
-void
-check_buffer_ptr(Buffer * pobj,Memory_Pool * pool)
-        __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
-         
 #define ASSERT_ARGS_aligned_mem __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(buffer) \
     || PARROT_ASSERT_ARG(mem)
 #define ASSERT_ARGS_aligned_size __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(buffer)
 #define ASSERT_ARGS_aligned_string_size __attribute__unused__ int _ASSERT_ARGS_CHECK = 0
+#define ASSERT_ARGS_check_buffer_ptr __attribute__unused__ int _ASSERT_ARGS_CHECK = 0
+#define ASSERT_ARGS_check_memory_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = 0
+#define ASSERT_ARGS_check_memory_system __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+       PARROT_ASSERT_ARG(interp)
+#define ASSERT_ARGS_check_small_object_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = 0
 #define ASSERT_ARGS_compact_pool __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(interp) \
     || PARROT_ASSERT_ARG(pool)

Modified: branches/pmc_sans_unionval/src/gc/mark_sweep.c
==============================================================================
--- branches/pmc_sans_unionval/src/gc/mark_sweep.c	Sat Aug 15 13:15:44 2009	(r40562)
+++ branches/pmc_sans_unionval/src/gc/mark_sweep.c	Sat Aug 15 13:58:21 2009	(r40563)
@@ -902,7 +902,7 @@
 /*
 
 =item C<static void free_buffer_malloc(PARROT_INTERP, Small_Object_Pool *pool,
-PObj *b)>
+Buffer *b)>
 
 Frees the given buffer, returning the storage space to the operating system
 and removing it from Parrot's memory management system. If the buffer is COW,
@@ -937,7 +937,7 @@
 
 /*
 
-=item C<static void free_buffer(PARROT_INTERP, Small_Object_Pool *pool, PObj
+=item C<static void free_buffer(PARROT_INTERP, Small_Object_Pool *pool, Buffer
 *b)>
 
 Frees a buffer, returning it to the memory pool for Parrot to possibly


More information about the parrot-commits mailing list