[svn:parrot] r40385 - trunk/src/interp

NotFound at svn.parrot.org NotFound at svn.parrot.org
Sun Aug 2 14:27:23 UTC 2009


Author: NotFound
Date: Sun Aug  2 14:27:22 2009
New Revision: 40385
URL: https://trac.parrot.org/parrot/changeset/40385

Log:
[core] initialize gc subsystem before contexts and pio

Modified:
   trunk/src/interp/inter_create.c

Modified: trunk/src/interp/inter_create.c
==============================================================================
--- trunk/src/interp/inter_create.c	Sun Aug  2 13:45:00 2009	(r40384)
+++ trunk/src/interp/inter_create.c	Sun Aug  2 14:27:22 2009	(r40385)
@@ -144,6 +144,14 @@
         MUTEX_INIT(interpreter_array_mutex);
     }
 
+    /* Must initialize flags before Parrot_gc_initialize() is called
+     * so the GC_DEBUG stuff is available. */
+    interp->flags = flags;
+    /* Set up the memory allocation system */
+    Parrot_gc_initialize(interp, (void*)&stacktop);
+    Parrot_block_GC_mark(interp);
+    Parrot_block_GC_sweep(interp);
+
     create_initial_context(interp);
     interp->resume_flag = RESUME_INITIAL;
 
@@ -151,10 +159,6 @@
     CONTEXT(interp)->recursion_depth = (UINTVAL)-1;
     interp->recursion_limit = RECURSION_LIMIT;
 
-    /* Must initialize flags here so the GC_DEBUG stuff is available before
-     * Parrot_gc_initialize() is called. */
-    interp->flags = flags;
-
     /* PANIC will fail until this is done */
     interp->piodata = NULL;
     Parrot_io_init(interp);
@@ -168,11 +172,6 @@
 #endif
     }
 
-    /* Set up the memory allocation system */
-    Parrot_gc_initialize(interp, (void*)&stacktop);
-    Parrot_block_GC_mark(interp);
-    Parrot_block_GC_sweep(interp);
-
     /*
      * Set up the string subsystem
      * This also generates the constant string tables


More information about the parrot-commits mailing list