[svn:parrot] r49039 - branches/string_gc_split/src/gc

bacek at svn.parrot.org bacek at svn.parrot.org
Thu Sep 16 08:35:23 UTC 2010


Author: bacek
Date: Thu Sep 16 08:35:22 2010
New Revision: 49039
URL: https://trac.parrot.org/parrot/changeset/49039

Log:
Add typedef for future string iterator callback.

Modified:
   branches/string_gc_split/src/gc/gc_private.h

Modified: branches/string_gc_split/src/gc/gc_private.h
==============================================================================
--- branches/string_gc_split/src/gc/gc_private.h	Thu Sep 16 08:24:28 2010	(r49038)
+++ branches/string_gc_split/src/gc/gc_private.h	Thu Sep 16 08:35:22 2010	(r49039)
@@ -91,6 +91,9 @@
     GC_NEVER_SKIP       /* unused */
 } gc_skip_type_enum;
 
+/* Callback for live string. Use Buffer for now... */
+typedef void (*string_iterator_callback)(PARROT_INTERP, Buffer *str);
+
 typedef struct GC_Subsystem {
     /* Which GC subsystem are we using? See PARROT_GC_DEFAULT_TYPE in
      * include/parrot/settings.h for possible values */
@@ -148,6 +151,9 @@
     /* Return by value to simplify memory management */
     size_t (*get_gc_info)(PARROT_INTERP, Interpinfo_enum);
 
+    /* Iterate over _live_ strings. Used for string pool compacting */
+    void (*iterate_live_strings)(PARROT_INTERP, string_iterator_callback callback);
+
     /*Function hooks that GC systems can CHOOSE to provide if they need them
      *These will be called via the GC API functions Parrot_gc_func_name
      *e.g. read barrier && write barrier hooks can go here later ...*/


More information about the parrot-commits mailing list