Author: chromatic
Date: Sun Jul 29 18:05:12 2007
New Revision: 20330

Modified:
   trunk/docs/pdds/draft/pdd09_gc.pod

Log:
[PDD 09] Reduce some of the more blatant lies in the GC design notes.

Modified: trunk/docs/pdds/draft/pdd09_gc.pod
==============================================================================
--- trunk/docs/pdds/draft/pdd09_gc.pod  (original)
+++ trunk/docs/pdds/draft/pdd09_gc.pod  Sun Jul 29 18:05:12 2007
@@ -47,6 +47,8 @@
 
 =head2 GC Variants
 
+There are several variants possible with the preceding schemes.  These 
variants achieve different goals:
+
 =over 4
 
 =item stop-the-world
@@ -70,13 +72,13 @@
 
 =item parallel
 
-Multiple threads are participating in GC.
+Multiple threads participate in GC.
 
 =item generational
 
 The object space is divided between a young generation (short-lived
-temporaries) and one or more old generations. By not scanning the old
-generation this can considerably speed up GC.
+temporaries) and one or more old generations. Not scanning the old
+generation repeatedly can considerably speed up GC.
 
 =back
 
@@ -182,19 +184,19 @@
 
 =back
 
-=item C<void (*de_init_gc_system) (Interp*)>
+=item C<void (*de_init_gc_system) (Interp *)>
 
 Called during interpreter destruction. Free used resources and memory pools.
 
-=item C<void (*mark_object) (Interp*, Pobj*)>
+=item C<void (*mark_object) (Interp *, Pobj*)>
 
-Mark the object being live. This function gets invoked by the following macro:
+Mark the object being live. This function gets invoked by the function:
 
-=item C<Parrot_pobj_lives(Interp*, PObj *)>
+=item C<pobject_lives(Interp *, PObj *)>
 
-which might do nothing if the object is already marked live.
+... which might do nothing if the object is already marked live.
 
-=item C<void (*init_pool) (Interp*, struct Small_Object_Pool *)>
+=item C<void (*init_pool) (Interp *, struct Small_Object_Pool *)>
 
 A function to initialize the given pool. This function should set the following
 object allocation functions for the given pool.
@@ -208,7 +210,7 @@
 
 =over 4
 
-=item C<PObj * (*get_free_object) (Interp*, struct Small_Object_Pool*)>
+=item C<PObj * (*get_free_object) (Interp *, struct Small_Object_Pool*)>
 
 It should return one free object from the given pool. Object flags are returned
 clear, except flags that are used by the garbage collector itself. If the pool
@@ -222,12 +224,12 @@
 
 =over 4
 
-=item C<DOD_WRITE_BARRIER(Interp*, PMC *agg, PMC *old, PMC *new)>
+=item C<DOD_WRITE_BARRIER(Interp *, PMC *agg, PMC *old, PMC *new)>
 
 This macro is invoked when in aggregate C<agg> the element C<old> is getting
 overritten by C<new>. Both C<old> and C<new> may be NULL.
 
-=item C<DOD_WRITE_BARRIER_KEY(Interp*, PMC *agg, PMC *old, PObj
+=item C<DOD_WRITE_BARRIER_KEY(Interp *, PMC *agg, PMC *old, PObj
 *old_key, PMC *new, PObj *new_key)>
 
 Like above. Invoked when a hash key is inserted, possibly replacing an old
@@ -292,9 +294,9 @@
 =item PObj_custom_mark_FLAG
 
 The C<mark> vtable slot will be called during DOD. The mark function must call
-C<Parrot_pobj_lives> for all non-NULL objects that PMC refers too.
+C<pobject_lives> for all non-NULL objects that PMC refers to.
 
-Please note that C<Parrot_pobj_lives> may be a macro.
+Please note that C<pobject_lives> may be a macro.
 
 =item PObj_data_is_PMC_array_FLAG
 

Reply via email to