[svn:parrot] r42842 - trunk/src/gc

chromatic at svn.parrot.org chromatic at svn.parrot.org
Wed Dec 2 00:43:39 UTC 2009


Author: chromatic
Date: Wed Dec  2 00:43:38 2009
New Revision: 42842
URL: https://trac.parrot.org/parrot/changeset/42842

Log:
[GC] Reversed the free_list check condition in gc_ms_more_traceable_objects()
for minor clarity and speed improvements.

Modified:
   trunk/src/gc/gc_ms.c

Modified: trunk/src/gc/gc_ms.c
==============================================================================
--- trunk/src/gc/gc_ms.c	Wed Dec  2 00:43:31 2009	(r42841)
+++ trunk/src/gc/gc_ms.c	Wed Dec  2 00:43:38 2009	(r42842)
@@ -407,7 +407,11 @@
         free_list = (PObj *)pool->free_list;
     }
 
-    if (!free_list) {
+    if (free_list) {
+        ptr             = free_list;
+        pool->free_list = ((GC_MS_PObj_Wrapper *)ptr)->next_ptr;
+    }
+    else {
         Fixed_Size_Arena * const arena = pool->last_Arena;
         ptr           = (PObj *)pool->newfree;
         pool->newfree = (void *)((char *)pool->newfree + pool->object_size);
@@ -418,10 +422,6 @@
 
         PARROT_ASSERT(ptr < (PObj *)pool->newlast);
     }
-    else {
-        ptr             = free_list;
-        pool->free_list = ((GC_MS_PObj_Wrapper *)ptr)->next_ptr;
-    }
 #else
     /* if we don't have any objects */
     if (!free_list) {


More information about the parrot-commits mailing list