[svn:parrot] r49473 - trunk/src/runcore

cotto at svn.parrot.org cotto at svn.parrot.org
Thu Oct 7 22:11:28 UTC 2010


Author: cotto
Date: Thu Oct  7 22:11:27 2010
New Revision: 49473
URL: https://trac.parrot.org/parrot/changeset/49473

Log:
[profiling] use the new string registering interface to keep the filename from being prematurely collected

Modified:
   trunk/src/runcore/profiling.c

Modified: trunk/src/runcore/profiling.c
==============================================================================
--- trunk/src/runcore/profiling.c	Thu Oct  7 22:10:18 2010	(r49472)
+++ trunk/src/runcore/profiling.c	Thu Oct  7 22:11:27 2010	(r49473)
@@ -91,13 +91,6 @@
     ARGIN(Parrot_profiling_runcore_t * runcore))
         __attribute__nonnull__(1);
 
-static void record_version_and_cli(PARROT_INTERP,
-    ARGIN(Parrot_profiling_runcore_t *runcore),
-    ARGIN(PPROF_DATA* pprof_data))
-        __attribute__nonnull__(1)
-        __attribute__nonnull__(2)
-        __attribute__nonnull__(3);
-
 static void record_ctx_info(PARROT_INTERP,
     ARGIN(Parrot_profiling_runcore_t *runcore),
     ARGIN(PPROF_DATA *pprof_data),
@@ -123,6 +116,13 @@
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
+static void record_version_and_cli(PARROT_INTERP,
+    ARGIN(Parrot_profiling_runcore_t *runcore),
+    ARGIN(PPROF_DATA* pprof_data))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
+
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
 static opcode_t * runops_profiling_core(PARROT_INTERP,
@@ -161,10 +161,6 @@
     , PARROT_ASSERT_ARG(pc))
 #define ASSERT_ARGS_record_bogus_parent_runloop __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(runcore))
-#define ASSERT_ARGS_record_version_and_cli __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(runcore) \
-    , PARROT_ASSERT_ARG(pprof_data))
 #define ASSERT_ARGS_record_ctx_info __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(runcore) \
@@ -177,6 +173,10 @@
 #define ASSERT_ARGS_record_values_none __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(runcore) \
     , PARROT_ASSERT_ARG(pprof_data))
+#define ASSERT_ARGS_record_version_and_cli __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(runcore) \
+    , PARROT_ASSERT_ARG(pprof_data))
 #define ASSERT_ARGS_runops_profiling_core __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(runcore) \
@@ -325,7 +325,7 @@
     }
 
     /* put profile_filename in the gc root set so it won't get collected */
-    Parrot_pmc_gc_register(interp, (PMC *) runcore->profile_filename);
+    Parrot_str_gc_register(interp, runcore->profile_filename);
 
     Profiling_first_loop_SET(runcore);
 


More information about the parrot-commits mailing list