[svn:parrot] r37806 - in trunk/src: . gc io
coke at svn.parrot.org
coke at svn.parrot.org
Sat Mar 28 18:00:24 UTC 2009
Author: coke
Date: Sat Mar 28 18:00:23 2009
New Revision: 37806
URL: https://trac.parrot.org/parrot/changeset/37806
Log:
[docs] Update the c function documentation
Mostly just fixing the signatures of functions that already had docs.
Modified:
trunk/src/gc/api.c
trunk/src/gc/gc_malloc.c
trunk/src/gc/generational_ms.c
trunk/src/gc/incremental_ms.c
trunk/src/gc/mark_sweep.c
trunk/src/gc/memory.c
trunk/src/gc/pools.c
trunk/src/gc/register.c
trunk/src/gc/resources.c
trunk/src/gc/system.c
trunk/src/hll.c
trunk/src/io/api.c
trunk/src/io/buffer.c
trunk/src/io/core.c
trunk/src/pmc.c
trunk/src/scheduler.c
trunk/src/vtables.c
trunk/src/warnings.c
Modified: trunk/src/gc/api.c
==============================================================================
--- trunk/src/gc/api.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/api.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -52,7 +52,7 @@
/*
-=item C<PMC * new_pmc_header>
+=item C<PMC * new_pmc_header(PARROT_INTERP, UINTVAL flags)>
Gets a new PMC header from the PMC pool's free list. Guaranteed to return a
valid PMC object or else Parrot will panic. Sets the necessary flags for the
@@ -101,7 +101,7 @@
/*
-=item C<static PMC_EXT * new_pmc_ext>
+=item C<static PMC_EXT * new_pmc_ext(PARROT_INTERP)>
Gets a new free C<PMC_EXT> structure from the PMC_EXT pool. A pointer to the
new PMC_EXT is returned. Does not check to ensure the PMC_EXT is non-null
@@ -126,7 +126,7 @@
/*
-=item C<void add_pmc_ext>
+=item C<void add_pmc_ext(PARROT_INTERP, PMC *pmc)>
Obtains a new C<PMC_EXT> structure, and attaches it to the given C<PMC>.
Sets the necessary flags associated with the PMC_EXT structure. Ensures
@@ -159,7 +159,7 @@
/*
-=item C<void add_pmc_sync>
+=item C<void add_pmc_sync(PARROT_INTERP, PMC *pmc)>
Adds a C<Sync*> structure to the given C<PMC>. Initializes the PMC's owner
field and the synchronization mutext. Does not check to ensure the C<Sync *> is
@@ -187,7 +187,7 @@
/*
-=item C<STRING * new_string_header>
+=item C<STRING * new_string_header(PARROT_INTERP, UINTVAL flags)>
Returns a new C<STRING> header from the string pool or the constant string
pool. Sets default flags on the string object: C<PObj_is_string_FLAG>,
@@ -219,7 +219,7 @@
/*
-=item C<Buffer * new_buffer_header>
+=item C<Buffer * new_buffer_header(PARROT_INTERP)>
Creates and returns a new C<Buffer> from the buffer header pool. Calls
C<get_free_buffer> to do all the work.
@@ -241,7 +241,7 @@
/*
-=item C<void * new_bufferlike_header>
+=item C<void * new_bufferlike_header(PARROT_INTERP, size_t size)>
Returns a new buffer-like header from the appropriate sized pool.
@@ -263,7 +263,7 @@
/*
-=item C<void Parrot_gc_free_pmc>
+=item C<void Parrot_gc_free_pmc(PARROT_INTERP, Small_Object_Pool *pool, PObj *p)>
Frees a PMC that is no longer being used. Calls a custom C<destroy> VTABLE
method if one is available. If the PMC uses a PMC_EXT structure, that is freed
@@ -303,7 +303,7 @@
/*
-=item C<void Parrot_gc_free_pmc_ext>
+=item C<void Parrot_gc_free_pmc_ext(PARROT_INTERP, PMC *p)>
Frees the C<PMC_EXT> structure attached to a PMC, if it exists.
@@ -335,7 +335,7 @@
/*
-=item C<void Parrot_gc_free_sysmem>
+=item C<void Parrot_gc_free_sysmem(PARROT_INTERP, Small_Object_Pool *pool, PObj *b)>
If the PMC uses memory allocated directly from the system, this function
frees that memory.
@@ -359,7 +359,7 @@
/*
-=item C<void Parrot_gc_free_buffer_malloc>
+=item C<void Parrot_gc_free_buffer_malloc(PARROT_INTERP, Small_Object_Pool *pool, PObj *b)>
Frees the given buffer, returning the storage space to the operating system
and removing it from Parrot's memory management system. If the buffer is COW,
@@ -394,7 +394,7 @@
/*
-=item C<void Parrot_gc_free_buffer>
+=item C<void Parrot_gc_free_buffer(PARROT_INTERP, Small_Object_Pool *pool, PObj *b)>
Frees a buffer, returning it to the memory pool for Parrot to possibly
reuse later.
@@ -423,7 +423,7 @@
/*
-=item C<void Parrot_gc_profile_start>
+=item C<void Parrot_gc_profile_start(PARROT_INTERP)>
Records the start time of a GC mark run when profiling is enabled.
@@ -441,7 +441,7 @@
/*
-=item C<void Parrot_gc_profile_end>
+=item C<void Parrot_gc_profile_end(PARROT_INTERP, int what)>
Records the end time of the GC mark run part C<what> run when profiling is
enabled. Also record start time of next part.
@@ -476,7 +476,7 @@
/*
-=item C<void Parrot_gc_ms_run_init>
+=item C<void Parrot_gc_ms_run_init(PARROT_INTERP)>
Prepares the collector for a mark & sweep GC run. This is the
initializer function for the MS garbage collector.
@@ -500,7 +500,7 @@
/*
-=item C<void Parrot_do_gc_run>
+=item C<void Parrot_do_gc_run(PARROT_INTERP, UINTVAL flags)>
Calls the configured garbage collector to find and reclaim unused
headers.
Modified: trunk/src/gc/gc_malloc.c
==============================================================================
--- trunk/src/gc/gc_malloc.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/gc_malloc.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -58,7 +58,7 @@
/*
-=item C<static int sweep_cb>
+=item C<static int sweep_cb(PARROT_INTERP, Small_Object_Pool *pool, int flag, void *arg)>
Sweeps the given pool for the MS collector. This function also ends
the profiling timer, if profiling is enabled. Returns the total number
@@ -93,7 +93,7 @@
/*
-=item C<static void clear_cow>
+=item C<static void clear_cow(PARROT_INTERP, Small_Object_Pool *pool, int cleanup)>
Clears the COW ref count.
@@ -139,7 +139,7 @@
/*
-=item C<static void used_cow>
+=item C<static void used_cow(PARROT_INTERP, Small_Object_Pool *pool, int cleanup)>
Finds other users of COW's C<bufstart>.
Modified: trunk/src/gc/generational_ms.c
==============================================================================
--- trunk/src/gc/generational_ms.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/generational_ms.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -498,7 +498,7 @@
=over 4
-=item C<static void parrot_gc_gms_deinit>
+=item C<static void parrot_gc_gms_deinit(PARROT_INTERP)>
Free used resources.
@@ -521,7 +521,7 @@
/*
-=item C<static void gc_gms_pool_init>
+=item C<static void gc_gms_pool_init(PARROT_INTERP, Small_Object_Pool *pool)>
Initialize pool variables. This function must set the pool function pointers
for C<add_free_object>, C<get_free_object>, C<alloc_objects>, and
@@ -549,7 +549,7 @@
/*
-=item C<void Parrot_gc_gms_init>
+=item C<void Parrot_gc_gms_init(PARROT_INTERP)>
Initialize the state structures of the gc system. Called immediately before
creation of memory pools.
@@ -584,7 +584,7 @@
=over 4
-=item C<static void gc_gms_add_free_object>
+=item C<static void gc_gms_add_free_object(PARROT_INTERP, Small_Object_Pool *pool, PObj *to_add)>
Unused. White (dead) objects are added in a bunch to the free_list.
@@ -603,7 +603,8 @@
/*
-=item C<static void gc_gms_chain_objects>
+=item C<static void gc_gms_chain_objects(PARROT_INTERP, Small_Object_Pool *pool,
+Small_Object_Arena *new_arena, size_t real_size)>
TODO: interfere active_destroy and put these items into a
separate white area, so that a sweep has just to run through these
@@ -693,7 +694,7 @@
/*
-=item C<static void gc_gms_alloc_objects>
+=item C<static void gc_gms_alloc_objects(PARROT_INTERP, Small_Object_Pool *pool)>
Allocate new objects for the given pool.
@@ -726,7 +727,7 @@
/*
-=item C<static void gc_gms_more_objects>
+=item C<static void gc_gms_more_objects(PARROT_INTERP, Small_Object_Pool *pool)>
Run a GC cycle or allocate new objects for the given pool.
@@ -753,7 +754,7 @@
/*
-=item C<static PObj * gc_gms_get_free_object>
+=item C<static PObj * gc_gms_get_free_object(PARROT_INTERP, Small_Object_Pool *pool)>
Get a new object off the free_list in the given pool.
@@ -809,7 +810,8 @@
=over 4
-=item C<static Gc_gms_gen * gc_gms_create_gen>
+=item C<static Gc_gms_gen * gc_gms_create_gen(PARROT_INTERP,
+Small_Object_Pool *pool, size_t gen_no)>
Create a generation structure for the given generation number.
@@ -840,7 +842,7 @@
/*
-=item C<static void gc_gms_init_gen>
+=item C<static void gc_gms_init_gen(PARROT_INTERP, Small_Object_Pool *pool)>
Initalize the generation system by creating the first two generations.
@@ -870,7 +872,7 @@
/*
-=item C<static Gc_gms_gen * gc_gms_find_gen>
+=item C<static Gc_gms_gen * gc_gms_find_gen(PARROT_INTERP, const Gc_gms_hdr *h, UINTVAL gen_no)>
=cut
@@ -906,7 +908,7 @@
/*
-=item C<static void gc_gms_promote>
+=item C<static void gc_gms_promote(PARROT_INTERP, Gc_gms_hdr *h, UINTVAL gen_no)>
=cut
@@ -952,7 +954,7 @@
/*
-=item C<static void gc_gms_store_hdr_list>
+=item C<static void gc_gms_store_hdr_list(PARROT_INTERP, Gc_gms_hdr_list *l, Gc_gms_hdr *h)>
=cut
@@ -984,7 +986,7 @@
/*
-=item C<static void gc_gms_clear_hdr_list>
+=item C<static void gc_gms_clear_hdr_list(PARROT_INTERP, Gc_gms_hdr_list *l)>
=cut
@@ -1005,7 +1007,7 @@
/*
-=item C<static void gc_gms_store_igp>
+=item C<static void gc_gms_store_igp(PARROT_INTERP, Gc_gms_hdr *h)>
=cut
@@ -1023,7 +1025,7 @@
/*
-=item C<static void gc_gms_clear_igp>
+=item C<static void gc_gms_clear_igp(PARROT_INTERP, Gc_gms_gen *gen)>
=cut
@@ -1040,7 +1042,7 @@
/*
-=item C<void parrot_gc_gms_wb>
+=item C<void parrot_gc_gms_wb(PARROT_INTERP, PMC *agg, void *old, void *_new)>
Called by the write barrier. The aggregate belongs to an older generation
then the I<new> value written into it. Put the header of the new value
@@ -1077,7 +1079,8 @@
/*
-=item C<void parrot_gc_gms_wb_key>
+=item C<void parrot_gc_gms_wb_key(PARROT_INTERP, PMC *agg, void *old,
+void *old_key, void *_new, void *new_key)>
=cut
@@ -1111,7 +1114,8 @@
/*
-=item C<static void gc_gms_merge_gen>
+=item C<static void gc_gms_merge_gen(PARROT_INTERP, Small_Object_Pool *pool,
+int flag, Gc_gms_plan *plan)>
=cut
@@ -1144,7 +1148,8 @@
/*
-=item C<static void gc_gms_use_gen>
+=item C<static void gc_gms_use_gen(PARROT_INTERP, Small_Object_Pool *pool,
+int flag, const Gc_gms_plan *plan)>
=cut
@@ -1178,7 +1183,7 @@
/*
-=item C<static int set_gen_cb>
+=item C<static int set_gen_cb(PARROT_INTERP, Small_Object_Pool *pool, int flag, void *arg)>
=cut
@@ -1200,7 +1205,7 @@
/*
-=item C<static void gc_gms_set_gen>
+=item C<static void gc_gms_set_gen(PARROT_INTERP)>
=cut
@@ -1315,7 +1320,7 @@
/*
-=item C<static void gc_gms_setto_gray>
+=item C<static void gc_gms_setto_gray(PARROT_INTERP, Gc_gms_hdr *h, int priority)>
Set the white header C<h> to gray.
@@ -1378,7 +1383,7 @@
/*
-=item C<static void gc_gms_setto_black>
+=item C<static void gc_gms_setto_black(PARROT_INTERP, Gc_gms_hdr *h, int priority)>
Set the white header C<h> to black.
@@ -1438,7 +1443,7 @@
/*
-=item C<void parrot_gc_gms_pobject_lives>
+=item C<void parrot_gc_gms_pobject_lives(PARROT_INTERP, PObj *obj)>
Set the object live - called by the pobject_lives macro
@@ -1468,7 +1473,8 @@
/*
-=item C<static int init_mark_cb>
+=item C<static int init_mark_cb(PARROT_INTERP, Small_Object_Pool *pool,
+int flag, void *arg)>
=cut
@@ -1487,7 +1493,7 @@
/*
-=item C<static void gc_gms_init_mark>
+=item C<static void gc_gms_init_mark(PARROT_INTERP)>
Initialize the mark phase of GC.
@@ -1511,7 +1517,8 @@
/*
-=item C<static int trace_igp_cb>
+=item C<static int trace_igp_cb(PARROT_INTERP, Small_Object_Pool *pool,
+int flag, void *arg)>
=cut
@@ -1537,7 +1544,7 @@
/*
-=item C<static int gc_gms_trace_root>
+=item C<static int gc_gms_trace_root(PARROT_INTERP, int trace_stack)>
Trace the root set. If C<trace_stack> is true, trace system areas.
@@ -1559,7 +1566,8 @@
/*
-=item C<static int trace_children_cb>
+=item C<static int trace_children_cb(PARROT_INTERP, Small_Object_Pool *pool,
+int flag, void *arg)>
=cut
@@ -1604,7 +1612,7 @@
/*
-=item C<static int gc_gms_trace_children>
+=item C<static int gc_gms_trace_children(PARROT_INTERP)>
Traverse gray objects: mark and blacken. Returns 0 if the trace was aborted
lazily.
@@ -1623,7 +1631,7 @@
/*
-=item C<static int sweep_cb_pmc>
+=item C<static int sweep_cb_pmc(PARROT_INTERP, Small_Object_Pool *pool, int flag, void *arg)>
move everything from white up to the free_list to the free_list
scan for active destroy objects
@@ -1663,7 +1671,8 @@
/*
-=item C<static int sweep_cb_buf>
+=item C<static int sweep_cb_buf(PARROT_INTERP, Small_Object_Pool *pool,
+int flag, void *arg)>
=cut
@@ -1729,7 +1738,7 @@
/*
-=item C<static void gc_gms_sweep>
+=item C<static void gc_gms_sweep(PARROT_INTERP)>
Free unused resources, put white objects onto free_list.
@@ -1747,7 +1756,8 @@
/*
-=item C<static int end_cycle_cb>
+=item C<static int end_cycle_cb(PARROT_INTERP, Small_Object_Pool *pool,
+int flag, void *arg)>
=cut
@@ -1772,7 +1782,7 @@
/*
-=item C<static void gc_gms_end_cycle>
+=item C<static void gc_gms_end_cycle(PARROT_INTERP)>
=cut
@@ -1793,7 +1803,7 @@
=over 4
-=item C<static void parrot_gc_gms_run>
+=item C<static void parrot_gc_gms_run(PARROT_INTERP, UINTVAL flags)>
Interface to C<Parrot_do_gc_run>. C<flags> is one of:
@@ -1849,7 +1859,7 @@
/*
-=item C<static void gms_debug_verify>
+=item C<static void gms_debug_verify(PARROT_INTERP, Small_Object_Pool *pool, const char *action)>
=cut
Modified: trunk/src/gc/incremental_ms.c
==============================================================================
--- trunk/src/gc/incremental_ms.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/incremental_ms.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -504,7 +504,8 @@
/*
-=item C<static void gc_ims_add_free_object>
+=item C<static void gc_ims_add_free_object(PARROT_INTERP,
+Small_Object_Pool *pool, void *to_add)>
Add object C<to_add> to the free_list in the given pool.
C<pool->num_free_objects> has to be updated by the caller.
@@ -531,7 +532,7 @@
/*
-=item C<static void * gc_ims_get_free_object>
+=item C<static void * gc_ims_get_free_object(PARROT_INTERP, Small_Object_Pool *pool)>
Get a new object off the free_list in the given pool.
@@ -574,7 +575,7 @@
/*
-=item C<static void gc_ims_alloc_objects>
+=item C<static void gc_ims_alloc_objects(PARROT_INTERP, Small_Object_Pool *pool)>
Allocate new objects for the given pool.
@@ -604,7 +605,7 @@
/*
-=item C<static void gc_ims_pool_init>
+=item C<static void gc_ims_pool_init(PARROT_INTERP, Small_Object_Pool *pool)>
Initializes a pool by setting the appropriate function pointers to add, get,
and allocate objects.
@@ -626,7 +627,7 @@
/*
-=item C<static void parrot_gc_ims_deinit>
+=item C<static void parrot_gc_ims_deinit(PARROT_INTERP)>
Shuts down this GC system.
@@ -647,7 +648,7 @@
/*
-=item C<void Parrot_gc_ims_init>
+=item C<void Parrot_gc_ims_init(PARROT_INTERP)>
Initialize the state structures of the gc system. Called immediately before
creation of memory pools. This function must set the function pointers
@@ -678,7 +679,7 @@
/*
-=item C<static void parrot_gc_ims_reinit>
+=item C<static void parrot_gc_ims_reinit(PARROT_INTERP)>
Reinitialize the collector for the next collection cycle.
@@ -710,7 +711,7 @@
/*
-=item C<static void parrot_gc_ims_mark>
+=item C<static void parrot_gc_ims_mark(PARROT_INTERP)>
Mark a bunch of children.
@@ -753,7 +754,7 @@
/*
-=item C<static int sweep_cb>
+=item C<static int sweep_cb(PARROT_INTERP, Small_Object_Pool *pool, int flag, void *arg)>
Callback to sweep a header pool (see Parrot_forall_header_pools).
@@ -780,7 +781,7 @@
/*
-=item C<static void parrot_gc_ims_sweep>
+=item C<static void parrot_gc_ims_sweep(PARROT_INTERP)>
Free unused objects in all header pools.
@@ -831,7 +832,8 @@
/*
-=item C<static int collect_cb>
+=item C<static int collect_cb(PARROT_INTERP, Small_Object_Pool *pool, int flag,
+void *arg)>
Callback to collect a header pool (see Parrot_forall_header_pools).
@@ -881,7 +883,7 @@
/*
-=item C<static int parrot_gc_ims_collect>
+=item C<static int parrot_gc_ims_collect(PARROT_INTERP, int check_only)>
Run the copying collector in memory pools, if it could yield some free memory.
@@ -926,7 +928,7 @@
/*
-=item C<static void parrot_gc_ims_run_increment>
+=item C<static void parrot_gc_ims_run_increment(PARROT_INTERP)>
Run one increment of collection. This function is triggered by object
allocation.
@@ -1004,7 +1006,7 @@
/*
-=item C<static void parrot_gc_ims_run>
+=item C<static void parrot_gc_ims_run(PARROT_INTERP, UINTVAL flags)>
Interface to C<Parrot_do_gc_run>. C<flags> is one of:
@@ -1107,7 +1109,7 @@
/*
-=item C<void Parrot_gc_ims_wb>
+=item C<void Parrot_gc_ims_wb(PARROT_INTERP, PMC *agg, PMC *_new)>
Write barrier called by the GC_WRITE_BARRIER macro. Always when storing
a white object into a black aggregate, either the object must
Modified: trunk/src/gc/mark_sweep.c
==============================================================================
--- trunk/src/gc/mark_sweep.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/mark_sweep.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -140,7 +140,7 @@
/*
-=item C<void Parrot_gc_ms_run>
+=item C<void Parrot_gc_ms_run(PARROT_INTERP, UINTVAL flags)>
Runs the stop-the-world mark & sweep (MS) collector.
@@ -245,7 +245,7 @@
/*
-=item C<int Parrot_gc_trace_root>
+=item C<int Parrot_gc_trace_root(PARROT_INTERP, Parrot_gc_trace_type trace)>
Traces the root set. Returns 0 if it's a lazy GC run and all objects
that need timely destruction were found.
@@ -369,7 +369,7 @@
/*
-=item C<void Parrot_gc_sweep>
+=item C<void Parrot_gc_sweep(PARROT_INTERP, Small_Object_Pool *pool)>
Puts any buffers/PMCs that are now unused onto the pool's free list. If
C<GC_IS_MALLOC>, bufstart gets freed too, if possible. Avoids buffers that
@@ -461,7 +461,7 @@
/*
-=item C<void pobject_lives>
+=item C<void pobject_lives(PARROT_INTERP, PObj *obj)>
Marks the PObj as "alive" for the Garbage Collector. Takes a pointer to a PObj,
and performs necessary marking to ensure the PMC and its direct children nodes
@@ -522,9 +522,10 @@
# endif
#endif /* PARROT_GC_GMS */
}
+
/*
-=item C<INTVAL contained_in_pool>
+=item C<INTVAL contained_in_pool(const Small_Object_Pool *pool, const void *ptr)>
Returns whether the given C<*ptr> points to a location in C<pool>.
@@ -556,7 +557,7 @@
/*
-=item C<int Parrot_is_const_pmc>
+=item C<int Parrot_is_const_pmc(PARROT_INTERP, const PMC *pmc)>
Returns whether C<*pmc> is a constant PMC. The given pointer is a constant
PMC if it points into the constant PMC pool.
@@ -584,7 +585,7 @@
/*
-=item C<static void mark_special>
+=item C<static void mark_special(PARROT_INTERP, PMC *obj)>
Marks the children of a special PMC. Handles the marking necessary
for shared PMCs, and ensures timely marking of high-priority PMCs.
@@ -679,7 +680,7 @@
/*
-=item C<static void more_traceable_objects>
+=item C<static void more_traceable_objects(PARROT_INTERP, Small_Object_Pool *pool)>
We're out of traceable objects. First we try a GC run to free some up. If
that doesn't work, allocate a new arena.
@@ -713,7 +714,7 @@
/*
-=item C<static void gc_ms_add_free_pmc_ext>
+=item C<static void gc_ms_add_free_pmc_ext(PARROT_INTERP, Small_Object_Pool *pool, void *to_add)>
Add a freed PMC_EXT structure to the free list in the PMC_EXT pool. Objects
on the free list can be reused later.
@@ -736,7 +737,7 @@
/*
-=item C<static void gc_ms_add_free_object>
+=item C<static void gc_ms_add_free_object(PARROT_INTERP, Small_Object_Pool *pool, void *to_add)>
Add an unused object back to the pool's free list for later reuse. Set
the PObj flags to indicate that the item is free.
@@ -760,7 +761,7 @@
/*
-=item C<static void * gc_ms_get_free_object>
+=item C<static void * gc_ms_get_free_object(PARROT_INTERP, Small_Object_Pool *pool)>
Free object allocator for the MS garbage collector system. If there are no
free objects, call C<gc_ms_add_free_object> to either free them up with a
@@ -799,7 +800,7 @@
/*
-=item C<static void * gc_ms_get_free_pmc_ext>
+=item C<static void * gc_ms_get_free_pmc_ext(PARROT_INTERP, Small_Object_Pool *pool)>
Get a new PMC_EXT structure from the free pool and return it.
@@ -834,7 +835,7 @@
/*
-=item C<static int sweep_cb>
+=item C<static int sweep_cb(PARROT_INTERP, Small_Object_Pool *pool, int flag, void *arg)>
Sweeps the given pool for the MS collector. This function also ends
the profiling timer, if profiling is enabled. Returns the total number
@@ -864,7 +865,7 @@
/*
-=item C<static int trace_active_PMCs>
+=item C<static int trace_active_PMCs(PARROT_INTERP, Parrot_gc_trace_type trace)>
Performs a full trace run and marks all the PMCs as active if they
are. Returns whether the run completed, that is, whether it's safe
@@ -889,7 +890,7 @@
/*
-=item C<static void clear_live_bits>
+=item C<static void clear_live_bits(const Small_Object_Pool *pool)>
Runs through all PMC arenas and clear live bits. This is used to reset
the GC system after a full system sweep.
@@ -920,7 +921,7 @@
/*
-=item C<void Parrot_gc_clear_live_bits>
+=item C<void Parrot_gc_clear_live_bits(PARROT_INTERP)>
Resets the PMC pool, so all objects are marked as "White". This
is done after a GC run to reset the system and prepare for the
@@ -941,7 +942,7 @@
/*
-=item C<int Parrot_gc_trace_children>
+=item C<int Parrot_gc_trace_children(PARROT_INTERP, size_t how_many)>
Returns whether the tracing process has completed.
@@ -1016,7 +1017,8 @@
/*
-=item C<void Parrot_add_to_free_list>
+=item C<void Parrot_add_to_free_list(PARROT_INTERP, Small_Object_Pool *pool,
+Small_Object_Arena *arena)>
Adds the objects in the newly allocated C<arena> to the free list.
@@ -1051,7 +1053,8 @@
/*
-=item C<void Parrot_append_arena_in_pool>
+=item C<void Parrot_append_arena_in_pool(PARROT_INTERP,
+Small_Object_Pool *pool, Small_Object_Arena *new_arena, size_t size)>
Insert the new arena into the pool's structure. Arenas are stored in a
linked list, so add the new arena to the list. Set information in the
@@ -1091,7 +1094,7 @@
/*
-=item C<static void gc_ms_alloc_objects>
+=item C<static void gc_ms_alloc_objects(PARROT_INTERP, Small_Object_Pool *pool)>
New arena allocator function for the MS garbage collector system. Allocates
and initializes a new memory arena in the given pool. Adds all the new
@@ -1143,7 +1146,7 @@
/*
-=item C<Small_Object_Pool * new_small_object_pool>
+=item C<Small_Object_Pool * new_small_object_pool(size_t object_size, size_t objects_per_alloc)>
Creates a new C<Small_Object_Pool> and returns a pointer to it.
Initializes the pool structure based on the size of objects in the
@@ -1174,7 +1177,7 @@
/*
-=item C<void gc_pmc_ext_pool_init>
+=item C<void gc_pmc_ext_pool_init(Small_Object_Pool *pool)>
Initialize the PMC_EXT pool functions. This is done separately from other
pools.
@@ -1196,7 +1199,7 @@
/*
-=item C<static void gc_ms_pool_init>
+=item C<static void gc_ms_pool_init(PARROT_INTERP, Small_Object_Pool *pool)>
Initialize a memory pool for the MS garbage collector system. Sets the
function pointers necessary to perform basic operations on a pool, such
@@ -1219,7 +1222,7 @@
/*
-=item C<void Parrot_gc_ms_init>
+=item C<void Parrot_gc_ms_init(PARROT_INTERP)>
Initialize the state structures of the gc system. Called immediately before
creation of memory pools. This function must set the function pointers
@@ -1244,7 +1247,8 @@
/*
-=item C<void Parrot_small_object_pool_merge>
+=item C<void Parrot_small_object_pool_merge(PARROT_INTERP,
+Small_Object_Pool *dest, Small_Object_Pool *source)>
Merge pool C<source> into pool C<dest>. Combines the free lists directly,
moves all arenas to the new pool, and remove the old pool. To merge, the
Modified: trunk/src/gc/memory.c
==============================================================================
--- trunk/src/gc/memory.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/memory.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, Parrot Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -28,7 +28,7 @@
/*
-=item C<void * mem_sys_allocate>
+=item C<void * mem_sys_allocate(size_t size)>
Uses C<malloc> to allocate system memory. Panics if the system cannot
return memory.
@@ -55,7 +55,7 @@
/*
-=item C<void * mem__internal_allocate>
+=item C<void * mem__internal_allocate(size_t size, const char *file, int line)>
Calls C<malloc> to allocate memory from the system, Panics if there is no
memory available. If C<DETAIL_MEMORY_DEBUG> macro is defined, prints
@@ -86,7 +86,7 @@
/*
-=item C<void * mem_sys_allocate_zeroed>
+=item C<void * mem_sys_allocate_zeroed(size_t size)>
Uses C<calloc> to allocate system memory. Guaranteed to succeed, Panics
otherwise.
@@ -113,7 +113,7 @@
/*
-=item C<void * mem__internal_allocate_zeroed>
+=item C<void * mem__internal_allocate_zeroed(size_t size, const char *file, int line)>
Uses C<calloc> to allocate system memory. Guaranteed to succeed, Panics
otherwise. If C<DETAIL_MEMORY_DEBUG> macro is defined, prints
@@ -144,7 +144,7 @@
/*
-=item C<void * mem_sys_realloc>
+=item C<void * mem_sys_realloc(void *from, size_t size)>
Resizes a chunk of memory. Unlike C<realloc>, it can handle a
NULL pointer, in which case it calls C<calloc> to create the memory
@@ -180,7 +180,7 @@
/*
-=item C<void * mem_sys_realloc_zeroed>
+=item C<void * mem_sys_realloc_zeroed(void *from, size_t size, size_t old_size)>
Resizes a chunk of system memory and fills the newly allocated space
with zeroes. If the pointer is C<NULL> a new memory block is
@@ -216,7 +216,8 @@
/*
-=item C<void * mem__internal_realloc>
+=item C<void * mem__internal_realloc(void *from, size_t size,
+const char *file, int line)>
Resizes a chunk of system memory. Unlike C<realloc>, it can handle a
NULL pointer, in which case a new memory block is allocated for the
@@ -253,7 +254,8 @@
/*
-=item C<void * mem__internal_realloc_zeroed>
+=item C<void * mem__internal_realloc_zeroed(void *from, size_t size,
+size_t old_size, const char *file, int line)>
Reallocates a given buffer of size C<old_size> to C<size>. If the new size
is larger then the old size, the difference is filled with zeros. Contains
@@ -293,7 +295,7 @@
/*
-=item C<void mem_sys_free>
+=item C<void mem_sys_free(void *from)>
Frees a chunk of memory back to the system.
@@ -315,7 +317,7 @@
/*
-=item C<void mem__internal_free>
+=item C<void mem__internal_free(void *from, const char *file, int line)>
Frees a chunk of memory back to the system. If
C<DETAIL_MEMORY_DEBUG> macro is defined, prints debug information to
@@ -340,7 +342,7 @@
/*
-=item C<void mem_setup_allocator>
+=item C<void mem_setup_allocator(PARROT_INTERP, void *stacktop)>
Initializes the memory allocator and the garbage collection subsystem.
Calls the initialization function associated with each collector, which
Modified: trunk/src/gc/pools.c
==============================================================================
--- trunk/src/gc/pools.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/pools.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -84,7 +84,7 @@
=over 4
-=item C<void * get_free_buffer>
+=item C<void * get_free_buffer(PARROT_INTERP, Small_Object_Pool *pool)>
Gets a free object or buffer from the given C<pool> and returns it. If the
object is larger then a standard C<PObj> structure, all additional memory is
@@ -122,7 +122,7 @@
=over 4
-=item C<Small_Object_Pool * new_pmc_pool>
+=item C<Small_Object_Pool * new_pmc_pool(PARROT_INTERP)>
Creates and initializes a new pool for PMCs and returns it.
@@ -150,7 +150,7 @@
/*
-=item C<Small_Object_Pool * new_bufferlike_pool>
+=item C<Small_Object_Pool * new_bufferlike_pool(PARROT_INTERP, size_t actual_buffer_size)>
Creates a new pool for buffer-like structures. This is called from
C<get_bufferlike_pool()>, and should probably not be called directly.
@@ -180,7 +180,7 @@
/*
-=item C<Small_Object_Pool * new_buffer_pool>
+=item C<Small_Object_Pool * new_buffer_pool(PARROT_INTERP)>
Creates a new C<Small_Object_Pool> structure for managing buffer objects.
@@ -210,7 +210,7 @@
/*
-=item C<Small_Object_Pool * new_string_pool>
+=item C<Small_Object_Pool * new_string_pool(PARROT_INTERP, INTVAL constant)>
Creates a new pool for C<STRING>s and returns it. This calls
C<get_bufferlike_pool> internally, which in turn calls C<new_bufferlike_pool>.
@@ -241,7 +241,7 @@
/*
-=item C<Small_Object_Pool * get_bufferlike_pool>
+=item C<Small_Object_Pool * get_bufferlike_pool(PARROT_INTERP, size_t buffer_size)>
Makes and return a bufferlike header pool for objects of a given size. If a
pool for objects of that size already exists, no new pool will be created and
@@ -286,7 +286,7 @@
/*
-=item C<size_t get_max_buffer_address>
+=item C<size_t get_max_buffer_address(PARROT_INTERP)>
Calculates the maximum buffer address and returns it. This is done by looping
through all the sized pools, and finding the pool whose C<end_arena_memory>
@@ -320,7 +320,7 @@
/*
-=item C<size_t get_min_buffer_address>
+=item C<size_t get_min_buffer_address(PARROT_INTERP)>
Calculates the minimum buffer address and returns it. Loops through all sized
pools, and finds the one with the smallest C<start_arena_memory> field. Notice
@@ -356,7 +356,7 @@
/*
-=item C<size_t get_max_pmc_address>
+=item C<size_t get_max_pmc_address(PARROT_INTERP)>
Returns the maximum memory address used by the C<pmc_pool>.
@@ -375,7 +375,7 @@
/*
-=item C<size_t get_min_pmc_address>
+=item C<size_t get_min_pmc_address(PARROT_INTERP)>
Returns the minimum memory address used by the C<pmc_pool>. Notice that the
memory region between C<get_min_pmc_address> and C<get_max_pmc_address> may be
@@ -396,7 +396,7 @@
/*
-=item C<int is_buffer_ptr>
+=item C<int is_buffer_ptr(PARROT_INTERP, const void *ptr)>
Checks whether the given C<ptr> is located within one of the sized
header pools. Returns C<1> if it is, and C<0> if not.
@@ -425,7 +425,7 @@
/*
-=item C<int is_pmc_ptr>
+=item C<int is_pmc_ptr(PARROT_INTERP, const void *ptr)>
Checks that C<ptr> is actually a PMC pointer. Returns C<1> if it is, C<0>
otherwise.
@@ -445,7 +445,7 @@
/*
-=item C<void Parrot_initialize_header_pools>
+=item C<void Parrot_initialize_header_pools(PARROT_INTERP)>
The initialization routine for the interpreter's header pools. Initializes
pools for string headers, constant string headers, buffers, PMCs, PMC_EXTs, and
@@ -512,7 +512,8 @@
/*
-=item C<int Parrot_forall_header_pools>
+=item C<int Parrot_forall_header_pools(PARROT_INTERP, int flag, void *arg,
+pool_iter_fn func)>
Iterates through header pools, invoking the given callback function on each
pool in the list matching the given criteria. Determines which pools to iterate
@@ -598,7 +599,7 @@
/*
-=item C<static void free_pool>
+=item C<static void free_pool(Small_Object_Pool *pool)>
Frees a pool and all of its arenas. Loops through the list of arenas backwards
and returns each to the memory manager. Then, frees the pool structure itself.
@@ -625,7 +626,8 @@
/*
-=item C<static int sweep_cb_buf>
+=item C<static int sweep_cb_buf(PARROT_INTERP, Small_Object_Pool *pool,
+int flag, void *arg)>
Performs a final garbage collection sweep, then frees the pool. Calls
C<Parrot_gc_sweep> to perform the sweep, and C<free_pool> to free the pool and
@@ -661,7 +663,8 @@
/*
-=item C<static int sweep_cb_pmc>
+=item C<static int sweep_cb_pmc(PARROT_INTERP, Small_Object_Pool *pool,
+int flag, void *arg)>
Performs a garbage collection sweep of the given pmc pool, then frees it. Calls
C<Parrot_gc_sweep> to perform the sweep, and C<free_pool> to free the pool and
@@ -683,7 +686,7 @@
/*
-=item C<void Parrot_destroy_header_pools>
+=item C<void Parrot_destroy_header_pools(PARROT_INTERP)>
Performs a garbage collection sweep on all pools, then frees them. Calls
C<Parrot_forall_header_pools> to loop over all the pools, passing
@@ -730,7 +733,7 @@
/*
-=item C<static void fix_pmc_syncs>
+=item C<static void fix_pmc_syncs(Interp *dest_interp, Small_Object_Pool *pool)>
Walks through the given arena, looking for all live and shared PMCs,
transferring their sync values to the destination interpreter.
@@ -770,7 +773,7 @@
/*
-=item C<void Parrot_merge_header_pools>
+=item C<void Parrot_merge_header_pools(Interp *dest_interp, Interp *source_interp)>
Merges the header pools of C<source_interp> into those of C<dest_interp>.
(Used to deal with shared objects left after interpreter destruction.)
Modified: trunk/src/gc/register.c
==============================================================================
--- trunk/src/gc/register.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/register.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -146,7 +146,7 @@
/*
-=item C<void destroy_context>
+=item C<void destroy_context(PARROT_INTERP)>
Frees allocated context memory.
@@ -182,7 +182,7 @@
/*
-=item C<void create_initial_context>
+=item C<void create_initial_context(PARROT_INTERP)>
Creates the interpreter's initial context.
@@ -212,7 +212,7 @@
/*
-=item C<void parrot_gc_context>
+=item C<void parrot_gc_context(PARROT_INTERP)>
Cleans up dead context memory; called by the garbage collector. This only
applies in the chunked context memory scheme.
@@ -242,7 +242,7 @@
/*
-=item C<static void clear_regs>
+=item C<static void clear_regs(PARROT_INTERP, Parrot_Context *ctx)>
Clears all registers in a context. PMC and STRING registers contain PMCNULL
and NULL, respectively. Integer and float registers contain negative flag
@@ -294,7 +294,8 @@
/*
-=item C<static void init_context>
+=item C<static void init_context(PARROT_INTERP, Parrot_Context *ctx,
+const Parrot_Context *old)>
Initializes a freshly allocated or recycled context.
@@ -338,7 +339,7 @@
/*
-=item C<Parrot_Context * Parrot_push_context>
+=item C<Parrot_Context * Parrot_push_context(PARROT_INTERP, const INTVAL *n_regs_used)>
Creates and sets the current context to a new context, remembering the old
context in C<caller_ctx>. Suitable to use with C<Parrot_pop_context>.
@@ -369,7 +370,7 @@
/*
-=item C<void Parrot_pop_context>
+=item C<void Parrot_pop_context(PARROT_INTERP)>
Frees the context created with C<Parrot_push_context> and restores the previous
context (the caller context).
@@ -405,7 +406,8 @@
/*
-=item C<Parrot_Context * Parrot_alloc_context>
+=item C<Parrot_Context * Parrot_alloc_context(PARROT_INTERP,
+const INTVAL *number_regs_used, Parrot_Context *old)>
Allocates and returns a new context. Does not set this new context as the
current context. Note that the register usage C<n_regs_used> is copied. Use
@@ -505,7 +507,7 @@
/*
-=item C<Parrot_Context * Parrot_set_new_context>
+=item C<Parrot_Context * Parrot_set_new_context(PARROT_INTERP, const INTVAL *number_regs_used)>
Allocates and returns a new context as the current context. Note that the
register usage C<n_regs_used> is copied.
@@ -533,7 +535,7 @@
/*
-=item C<void Parrot_free_context>
+=item C<void Parrot_free_context(PARROT_INTERP, Parrot_Context *ctx, int deref)>
Frees the context if its reference count is zero. If C<deref>
is true, then reduce the reference count prior to determining
@@ -640,7 +642,8 @@
/*
-=item C<Parrot_Context * Parrot_context_ref_trace>
+=item C<Parrot_Context * Parrot_context_ref_trace(PARROT_INTERP,
+Parrot_Context *ctx, const char *file, int line)>
Helper function to trace references when CTX_LEAK_DEBUG is set.
@@ -674,7 +677,7 @@
/*
-=item C<void Parrot_set_context_threshold>
+=item C<void Parrot_set_context_threshold(PARROT_INTERP, Parrot_Context *ctx)>
Marks the context as possible threshold.
@@ -700,7 +703,7 @@
=cut
-=item C<void Parrot_clear_i>
+=item C<void Parrot_clear_i(PARROT_INTERP)>
Sets all integer registers in the current context to 0.
@@ -721,7 +724,7 @@
/*
-=item C<void Parrot_clear_s>
+=item C<void Parrot_clear_s(PARROT_INTERP)>
Sets all STRING registers in the current context to NULL.
@@ -742,7 +745,7 @@
/*
-=item C<void Parrot_clear_p>
+=item C<void Parrot_clear_p(PARROT_INTERP)>
Sets all PMC registers in the current context to NULL.
@@ -763,7 +766,7 @@
/*
-=item C<void Parrot_clear_n>
+=item C<void Parrot_clear_n(PARROT_INTERP)>
Sets all number registers in the current context to 0.0.
Modified: trunk/src/gc/resources.c
==============================================================================
--- trunk/src/gc/resources.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/resources.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -131,7 +131,8 @@
/*
-=item C<static void alloc_new_block>
+=item C<static void alloc_new_block(PARROT_INTERP, size_t size,
+Memory_Pool *pool, const char *why)>
Allocate a new memory block. We allocate either the requested size or the
default size, whichever is larger. Add the new block to the given memory
@@ -190,7 +191,7 @@
/*
-=item C<static void * mem_allocate>
+=item C<static void * mem_allocate(PARROT_INTERP, size_t size, Memory_Pool *pool)>
Allocates memory for headers.
@@ -290,7 +291,7 @@
/*
-=item C<static const char* buffer_location>
+=item C<static const char* buffer_location(PARROT_INTERP, const PObj *b)>
Recturns a constant string representing the location of the given
PObj C<b> in one of the PMC registers. If the PMC is not located
@@ -326,7 +327,7 @@
/*
-=item C<static void debug_print_buf>
+=item C<static void debug_print_buf(PARROT_INTERP, const PObj *b)>
Prints a debug statement with information about the given PObj C<b>.
=cut
@@ -351,7 +352,7 @@
=over 4
-=item C<static void compact_pool>
+=item C<static void compact_pool(PARROT_INTERP, Memory_Pool *pool)>
Compact the string buffer pool. Does not perform a GC scan, or mark items
as being alive in any way.
@@ -588,7 +589,7 @@
/*
-=item C<void Parrot_go_collect>
+=item C<void Parrot_go_collect(PARROT_INTERP)>
Scan the string pools and compact them. This does not perform a GC mark or
sweep run, and does not check whether string buffers are still alive.
@@ -607,7 +608,7 @@
/*
-=item C<static size_t aligned_size>
+=item C<static size_t aligned_size(const Buffer *buffer, size_t len)>
Determines the size of Buffer C<buffer> which has nominal length C<len>.
The actual size in RAM of the Buffer might be different because of
@@ -634,7 +635,7 @@
/*
-=item C<static char * aligned_mem>
+=item C<static char * aligned_mem(const Buffer *buffer, char *mem)>
Returns a pointer to the aligned allocated storage for Buffer C<buffer>,
which might not be the same as the pointer to C<buffeR> because of
@@ -663,7 +664,7 @@
/*
-=item C<static size_t aligned_string_size>
+=item C<static size_t aligned_string_size(size_t len)>
Determines the size of a string of length C<len> in RAM, accounting for
alignment.
@@ -686,7 +687,7 @@
/*
-=item C<int Parrot_in_memory_pool>
+=item C<int Parrot_in_memory_pool(PARROT_INTERP, void *bufstart)>
Determines if the given C<bufstart> pointer points to a location inside the
memory pool. Returns 1 if the pointer is in the memory pool, 0 otherwise.
@@ -722,7 +723,7 @@
=over 4
-=item C<void Parrot_reallocate>
+=item C<void Parrot_reallocate(PARROT_INTERP, Buffer *buffer, size_t newsize)>
Reallocate the Buffer's buffer memory to the given size. The
allocated buffer will not shrink. If the buffer was allocated with
@@ -794,7 +795,7 @@
/*
-=item C<void Parrot_reallocate_string>
+=item C<void Parrot_reallocate_string(PARROT_INTERP, STRING *str, size_t newsize)>
Reallocate the STRING's buffer memory to the given size. The allocated
buffer will not shrink. This function sets also C<str-E<gt>strstart> to the
@@ -865,7 +866,7 @@
/*
-=item C<void Parrot_allocate>
+=item C<void Parrot_allocate(PARROT_INTERP, Buffer *buffer, size_t size)>
Allocate buffer memory for the given Buffer pointer. The C<size>
has to be a multiple of the word size.
@@ -890,7 +891,7 @@
/*
-=item C<void Parrot_allocate_aligned>
+=item C<void Parrot_allocate_aligned(PARROT_INTERP, Buffer *buffer, size_t size)>
Like above, except the C<size> will be rounded up and the address of
the buffer will have the same alignment as a pointer returned by
@@ -921,7 +922,7 @@
/*
-=item C<void Parrot_allocate_string>
+=item C<void Parrot_allocate_string(PARROT_INTERP, STRING *str, size_t size)>
Allocate the STRING's buffer memory to the given size. The allocated
buffer maybe slightly bigger than the given C<size>. This function
@@ -964,7 +965,7 @@
/*
-=item C<static Memory_Pool * new_memory_pool>
+=item C<static Memory_Pool * new_memory_pool(size_t min_block, compact_f compact)>
Allocate a new C<Memory_Pool> structures, and set some initial values.
return a pointer to the new pool.
@@ -994,7 +995,7 @@
/*
-=item C<void Parrot_initialize_memory_pools>
+=item C<void Parrot_initialize_memory_pools(PARROT_INTERP)>
Initialize the managed memory pools. Parrot maintains two C<Memory_Pool>
structures, the general memory pool and the constant string pool. Create
@@ -1022,7 +1023,7 @@
/*
-=item C<void Parrot_destroy_memory_pools>
+=item C<void Parrot_destroy_memory_pools(PARROT_INTERP)>
Destroys the memory pool and the constant string pool. Loop through both
pools and destroy all memory blocks contained in them. Once all the
@@ -1058,7 +1059,7 @@
/*
-=item C<static void merge_pools>
+=item C<static void merge_pools(Memory_Pool *dest, Memory_Pool *source)>
Merge two memory pools together. Do this by moving all memory blocks
from the C<*source> pool into the C<*dest> pool. The C<source> pool
@@ -1103,7 +1104,7 @@
/*
-=item C<void Parrot_merge_memory_pools>
+=item C<void Parrot_merge_memory_pools(Interp *dest_interp, Interp *source_interp)>
Merge the memory pools of two interpreter structures. Merge the general
memory pool and the constant string pools from C<source_interp> into
Modified: trunk/src/gc/system.c
==============================================================================
--- trunk/src/gc/system.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/gc/system.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -50,7 +50,7 @@
/*
-=item C<void trace_system_areas>
+=item C<void trace_system_areas(PARROT_INTERP)>
Initiates a trace of the system stack, looking for pointers which are being
used by functions in the call chain, but which might not be marked as alive
@@ -140,7 +140,7 @@
/*
-=item C<static void trace_system_stack>
+=item C<static void trace_system_stack(PARROT_INTERP)>
Traces the memory block starting at C<< interp->lo_var_ptr >>. This should be
the address of a local variable which has been created on the stack early in
@@ -169,7 +169,7 @@
/*
-=item C<static size_t find_common_mask>
+=item C<static size_t find_common_mask(PARROT_INTERP, size_t val1, size_t val2)>
Finds a mask covering the longest common bit-prefix of C<val1>
and C<val2>.
@@ -208,7 +208,7 @@
/*
-=item C<void trace_mem_block>
+=item C<void trace_mem_block(PARROT_INTERP, size_t lo_var_ptr, size_t hi_var_ptr)>
Traces the memory block between C<lo_var_ptr> and C<hi_var_ptr>.
Attempt to find pointers to PObjs or buffers, and mark them as "alive"
Modified: trunk/src/hll.c
==============================================================================
--- trunk/src/hll.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/hll.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2005-2008, Parrot Foundation.
+Copyright (C) 2005-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -65,7 +65,7 @@
/*
-=item C<static PMC* new_hll_entry>
+=item C<static PMC* new_hll_entry(PARROT_INTERP, STRING *entry_name)>
Create a new HLL information table entry.
Takes an interpreter name and (optional) entry name.
@@ -119,7 +119,7 @@
/*
-=item C<void Parrot_init_HLL>
+=item C<void Parrot_init_HLL(PARROT_INTERP)>
Initialises the HLL_info and HLL_namespace fields. Takes an interpreter and
calls C<Parrot_register_HLL> to register name within Parrot core.
@@ -142,7 +142,7 @@
/*
-=item C<INTVAL Parrot_register_HLL>
+=item C<INTVAL Parrot_register_HLL(PARROT_INTERP, STRING *hll_name)>
Return the HLL id if C<hll_name> is already registered in the interpreter.
@@ -209,7 +209,7 @@
/*
-=item C<INTVAL Parrot_register_HLL_lib>
+=item C<INTVAL Parrot_register_HLL_lib(PARROT_INTERP, STRING *hll_lib)>
Register an HLL library.
Takes an interpreter name and a pointer to a library name.
@@ -264,7 +264,7 @@
/*
-=item C<INTVAL Parrot_get_HLL_id>
+=item C<INTVAL Parrot_get_HLL_id(PARROT_INTERP, STRING *hll_name)>
Return the ID of the given HLL name or -1 on error. C<parrot> has ID 0.
@@ -298,7 +298,7 @@
/*
-=item C<STRING * Parrot_get_HLL_name>
+=item C<STRING * Parrot_get_HLL_name(PARROT_INTERP, INTVAL id)>
Returns the corresponding PMC's name.
Takes an interpreter name and an id.
@@ -340,7 +340,8 @@
/*
-=item C<void Parrot_register_HLL_type>
+=item C<void Parrot_register_HLL_type(PARROT_INTERP, INTVAL hll_id,
+INTVAL core_type, INTVAL hll_type)>
Register a type mapping of C<< core_type => hll_type >> for the given HLL.
@@ -384,7 +385,7 @@
/*
-=item C<INTVAL Parrot_get_HLL_type>
+=item C<INTVAL Parrot_get_HLL_type(PARROT_INTERP, INTVAL hll_id, INTVAL core_type)>
Get an equivalent HLL type number for the language C<hll_id>. If the given HLL
doesn't remap the given type, or if C<hll_id> is the special value
@@ -432,7 +433,7 @@
/*
-=item C<INTVAL Parrot_get_ctx_HLL_type>
+=item C<INTVAL Parrot_get_ctx_HLL_type(PARROT_INTERP, INTVAL core_type)>
Return an equivalent PMC type number according to the current HLL setings in
the context. If no type is registered, returns C<core_type>.
@@ -453,7 +454,7 @@
/*
-=item C<PMC* Parrot_get_ctx_HLL_namespace>
+=item C<PMC* Parrot_get_ctx_HLL_namespace(PARROT_INTERP)>
Return root namespace of the current HLL.
@@ -473,7 +474,7 @@
/*
-=item C<PMC* Parrot_get_HLL_namespace>
+=item C<PMC* Parrot_get_HLL_namespace(PARROT_INTERP, int hll_id)>
Return root namespace of the HLL with the ID of I<hll_id>. If C<hll_id> is the
special value C<PARROT_HLL_NONE>, return the global root namespace.
@@ -497,7 +498,7 @@
/*
-=item C<void Parrot_regenerate_HLL_namespaces>
+=item C<void Parrot_regenerate_HLL_namespaces(PARROT_INTERP)>
Create all HLL namespaces that don't already exist. This is necessary when
creating a new interpreter which shares an old interpreter's HLL_info.
Modified: trunk/src/io/api.c
==============================================================================
--- trunk/src/io/api.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/io/api.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -37,7 +37,7 @@
=over 4
-=item C<PMC * Parrot_io_stdhandle>
+=item C<PMC * Parrot_io_stdhandle(PARROT_INTERP, INTVAL fileno, PMC *newhandle)>
Get the current standard IO object and optionally set a new one.
@@ -63,7 +63,7 @@
/*
-=item C<PMC * Parrot_io_new_pmc>
+=item C<PMC * Parrot_io_new_pmc(PARROT_INTERP, INTVAL flags)>
Creates a new I/O filehandle object. The value of C<flags> is set
in the returned PMC.
@@ -91,7 +91,7 @@
/*
-=item C<PMC * Parrot_io_open>
+=item C<PMC * Parrot_io_open(PARROT_INTERP, PMC *pmc, STRING *path, STRING *mode)>
Return an open filehandle for a given string path and flags. Defaults to
creating a new FileHandle PMC. If a PMC object is passed in, it uses that
@@ -124,7 +124,7 @@
/*
-=item C<PMC * Parrot_io_fdopen>
+=item C<PMC * Parrot_io_fdopen(PARROT_INTERP, PMC *pmc, PIOHANDLE fd, STRING *sflags)>
Creates and returns a C<FileHandle> PMC for a given set of flags on an
existing, open file descriptor.
@@ -167,7 +167,7 @@
/*
-=item C<INTVAL Parrot_io_close>
+=item C<INTVAL Parrot_io_close(PARROT_INTERP, PMC *pmc)>
Closes the filehandle object.
@@ -192,7 +192,7 @@
/*
-=item C<INTVAL Parrot_io_is_closed>
+=item C<INTVAL Parrot_io_is_closed(PARROT_INTERP, PMC *pmc)>
Test whether a filehandle is closed.
@@ -216,7 +216,7 @@
/*
-=item C<void Parrot_io_flush>
+=item C<void Parrot_io_flush(PARROT_INTERP, PMC *pmc)>
Flushes the C<ParrotIO> PMC C<*pmc>.
@@ -237,7 +237,7 @@
/*
-=item C<STRING * Parrot_io_reads>
+=item C<STRING * Parrot_io_reads(PARROT_INTERP, PMC *pmc, size_t length)>
Return a new C<STRING*> holding up to C<len> bytes.
@@ -261,7 +261,7 @@
/*
-=item C<STRING * Parrot_io_readline>
+=item C<STRING * Parrot_io_readline(PARROT_INTERP, PMC *pmc)>
Return a new C<STRING*> holding the next line read from the file.
@@ -285,7 +285,7 @@
/*
-=item C<INTVAL Parrot_io_write>
+=item C<INTVAL Parrot_io_write(PARROT_INTERP, PMC *pmc, const void *buffer, size_t length)>
Writes C<len> bytes from C<*buffer> to C<*pmc>.
@@ -317,7 +317,7 @@
/*
-=item C<PIOOFF_T Parrot_io_seek>
+=item C<PIOOFF_T Parrot_io_seek(PARROT_INTERP, PMC *pmc, PIOOFF_T offset, INTVAL w)>
Moves the read/write position of C<*pmc> to offset C<bytes> from the
position indicated by C<w>. Typically C<w> will be C<0> for the start of
@@ -341,7 +341,7 @@
/*
-=item C<PIOOFF_T Parrot_io_tell>
+=item C<PIOOFF_T Parrot_io_tell(PARROT_INTERP, PMC *pmc)>
Returns the current read/write position of C<*pmc>.
@@ -364,7 +364,7 @@
/*
-=item C<INTVAL Parrot_io_peek>
+=item C<INTVAL Parrot_io_peek(PARROT_INTERP, PMC *pmc, STRING **buffer)>
Retrieve the next character in the stream without modifying the stream. Calls
the platform-specific implementation of 'peek'.
@@ -386,7 +386,7 @@
/*
-=item C<INTVAL Parrot_io_eof>
+=item C<INTVAL Parrot_io_eof(PARROT_INTERP, PMC *pmc)>
Returns a boolean value indication whether C<*pmc>'s current read/write
position is C<EOF>.
@@ -418,7 +418,7 @@
/*
-=item C<INTVAL Parrot_io_puts>
+=item C<INTVAL Parrot_io_puts(PARROT_INTERP, PMC *pmc, const char *s)>
Writes C<*s> tp C<*pmc>. C string version.
@@ -436,7 +436,7 @@
/*
-=item C<INTVAL Parrot_io_putps>
+=item C<INTVAL Parrot_io_putps(PARROT_INTERP, PMC *pmc, ARGMOD_STRING *s)>
Writes C<*s> to C<*pmc>. Parrot string version.
@@ -463,7 +463,7 @@
/*
-=item C<INTVAL Parrot_io_fprintf>
+=item C<INTVAL Parrot_io_fprintf(PARROT_INTERP, PMC *pmc, const char *s, ...)>
Writes a C string format with varargs to C<*pmc>.
@@ -490,7 +490,7 @@
/*
-=item C<INTVAL Parrot_io_printf>
+=item C<INTVAL Parrot_io_printf(PARROT_INTERP, const char *s, ...)>
Writes a C string format with varargs to C<stdout>.
@@ -526,7 +526,7 @@
/*
-=item C<INTVAL Parrot_io_eprintf>
+=item C<INTVAL Parrot_io_eprintf(PARROT_INTERP, const char *s, ...)>
Writes a C string format with varargs to C<stderr>.
@@ -564,7 +564,7 @@
/*
-=item C<PIOHANDLE Parrot_io_getfd>
+=item C<PIOHANDLE Parrot_io_getfd(PARROT_INTERP, PMC *pmc)>
Returns C<*pmc>'s file descriptor, or C<0> if it is not defined.
@@ -583,7 +583,7 @@
/*
-=item C<INTVAL Parrot_io_is_tty>
+=item C<INTVAL Parrot_io_is_tty(PARROT_INTERP, PMC *pmc)>
Returns a boolean value indicating whether C<*pmc> is a console/tty.
@@ -611,7 +611,7 @@
=over 4
-=item C<PMC * Parrot_io_STDIN>
+=item C<PMC * Parrot_io_STDIN(PARROT_INTERP)>
Returns the C<FileHandle> PMC for C<stdin>.
@@ -631,7 +631,7 @@
/*
-=item C<PMC * Parrot_io_STDOUT>
+=item C<PMC * Parrot_io_STDOUT(PARROT_INTERP)>
Returns the C<FileHandle> PMC for C<stdout>.
@@ -651,7 +651,7 @@
/*
-=item C<PMC * Parrot_io_STDERR>
+=item C<PMC * Parrot_io_STDERR(PARROT_INTERP)>
Returns the C<FileHandle> PMC for C<stderr>.
@@ -679,7 +679,7 @@
=over 4
-=item C<PIOOFF_T Parrot_io_make_offset>
+=item C<PIOOFF_T Parrot_io_make_offset(INTVAL offset)>
Returns C<offset>.
@@ -697,7 +697,7 @@
/*
-=item C<PIOOFF_T Parrot_io_make_offset32>
+=item C<PIOOFF_T Parrot_io_make_offset32(INTVAL hi, INTVAL lo)>
C<hi> is shifted 32 bytes to the left and C<or>ed together with C<lo>.
This allows 64-bit seeks with only 32-bit C<INTVALS>.
@@ -715,7 +715,7 @@
/*
-=item C<PIOOFF_T Parrot_io_make_offset_pmc>
+=item C<PIOOFF_T Parrot_io_make_offset_pmc(PARROT_INTERP, PMC *pmc)>
Returns the return value of the C<get_integer> vtable method on C<*pmc>.
Modified: trunk/src/io/buffer.c
==============================================================================
--- trunk/src/io/buffer.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/io/buffer.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -36,7 +36,7 @@
/*
-=item C<INTVAL Parrot_io_init_buffer>
+=item C<INTVAL Parrot_io_init_buffer(PARROT_INTERP)>
Initialize buffering on STDOUT and STDIN.
@@ -59,7 +59,7 @@
/*
-=item C<void Parrot_io_setbuf>
+=item C<void Parrot_io_setbuf(PARROT_INTERP, PMC *filehandle, size_t bufsize)>
Set the buffering mode for the filehandle.
@@ -129,7 +129,7 @@
/*
-=item C<INTVAL Parrot_io_setlinebuf>
+=item C<INTVAL Parrot_io_setlinebuf(PARROT_INTERP, PMC *filehandle)>
Set the file handle to line buffering mode.
@@ -161,7 +161,7 @@
/*
-=item C<INTVAL Parrot_io_flush_buffer>
+=item C<INTVAL Parrot_io_flush_buffer(PARROT_INTERP, PMC *filehandle)>
Flush the I/O buffer for a given filehandle object.
@@ -221,7 +221,7 @@
/*
-=item C<size_t Parrot_io_fill_readbuf>
+=item C<size_t Parrot_io_fill_readbuf(PARROT_INTERP, PMC *filehandle)>
The buffer layer's C<Fill> function.
@@ -264,7 +264,7 @@
/*
-=item C<size_t Parrot_io_read_buffer>
+=item C<size_t Parrot_io_read_buffer(PARROT_INTERP, PMC *filehandle, STRING **buf)>
The buffer layer's C<Read> function.
@@ -394,7 +394,7 @@
/*
-=item C<size_t Parrot_io_peek_buffer>
+=item C<size_t Parrot_io_peek_buffer(PARROT_INTERP, PMC *filehandle, STRING **buf)>
Retrieve the next character in the buffer without modifying the stream.
@@ -452,7 +452,7 @@
/*
-=item C<size_t Parrot_io_readline_buffer>
+=item C<size_t Parrot_io_readline_buffer(PARROT_INTERP, PMC *filehandle, STRING **buf)>
This is called from C<Parrot_io_read_buffer()> to do line buffered reading if
that is what is required.
@@ -555,7 +555,7 @@
/*
-=item C<size_t Parrot_io_write_buffer>
+=item C<size_t Parrot_io_write_buffer(PARROT_INTERP, PMC *filehandle, STRING *s)>
The buffer layer's C<Write> function.
@@ -673,7 +673,8 @@
/*
-=item C<PIOOFF_T Parrot_io_seek_buffer>
+=item C<PIOOFF_T Parrot_io_seek_buffer(PARROT_INTERP, PMC *filehandle,
+PIOOFF_T offset, INTVAL whence)>
The buffer layer's C<Seek> function.
@@ -728,7 +729,7 @@
/*
-=item C<static INTVAL io_is_end_of_line>
+=item C<static INTVAL io_is_end_of_line(const char *c)>
Determine if the current character is the end of the line.
Modified: trunk/src/io/core.c
==============================================================================
--- trunk/src/io/core.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/io/core.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -34,7 +34,7 @@
/*
-=item C<void Parrot_io_init>
+=item C<void Parrot_io_init(PARROT_INTERP)>
Sets up the interpreter's I/O storage and creates the C<STD*> handles.
@@ -78,7 +78,7 @@
/*
-=item C<void Parrot_io_finish>
+=item C<void Parrot_io_finish(PARROT_INTERP)>
Closes the interpreter's IO resourses. Called during its interpreter
destruction.
@@ -105,7 +105,7 @@
/*
-=item C<void Parrot_IOData_mark>
+=item C<void Parrot_IOData_mark(PARROT_INTERP, ParrotIOData *piodata)>
Called from C<trace_active_PMCs()> to mark the IO data live.
Modified: trunk/src/pmc.c
==============================================================================
--- trunk/src/pmc.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/pmc.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -71,7 +71,7 @@
/*
-=item C<INTVAL PMC_is_null>
+=item C<INTVAL PMC_is_null(PARROT_INTERP, const PMC *pmc)>
Tests if the given pmc is null.
@@ -93,7 +93,7 @@
/*
-=item C<PMC * pmc_new>
+=item C<PMC * pmc_new(PARROT_INTERP, INTVAL base_type)>
Creates a new PMC of type C<base_type> (which is an index into the list of PMC
types declared in C<vtables> in F<include/parrot/pmc.h>). Once the PMC has been
@@ -127,7 +127,7 @@
/*
-=item C<PMC * pmc_reuse>
+=item C<PMC * pmc_reuse(PARROT_INTERP, PMC *pmc, INTVAL new_type, UINTVAL flags)>
Reuse an existing PMC, turning it into an empty PMC of the new type. Any
required internal structure will be put in place (such as the extension area)
@@ -220,7 +220,7 @@
/*
-=item C<static PMC * get_new_pmc_header>
+=item C<static PMC * get_new_pmc_header(PARROT_INTERP, INTVAL base_type, UINTVAL flags)>
Gets a new PMC header.
@@ -315,7 +315,7 @@
/*
-=item C<PMC * pmc_new_noinit>
+=item C<PMC * pmc_new_noinit(PARROT_INTERP, INTVAL base_type)>
Creates a new PMC of type C<base_type> (which is an index into the list of PMC
types declared in C<vtables> in F<include/parrot/pmc.h>). Unlike C<pmc_new()>,
@@ -343,7 +343,7 @@
/*
-=item C<PMC * constant_pmc_new_noinit>
+=item C<PMC * constant_pmc_new_noinit(PARROT_INTERP, INTVAL base_type)>
Creates a new constant PMC of type C<base_type>.
@@ -363,7 +363,7 @@
/*
-=item C<PMC * constant_pmc_new>
+=item C<PMC * constant_pmc_new(PARROT_INTERP, INTVAL base_type)>
Creates a new constant PMC of type C<base_type>, then calls its C<init>.
@@ -385,7 +385,7 @@
/*
-=item C<PMC * pmc_new_init>
+=item C<PMC * pmc_new_init(PARROT_INTERP, INTVAL base_type, PMC *init)>
As C<pmc_new()>, but passes C<init> to the PMC's C<init_pmc()> vtable entry.
@@ -413,7 +413,7 @@
/*
-=item C<PMC * constant_pmc_new_init>
+=item C<PMC * constant_pmc_new_init(PARROT_INTERP, INTVAL base_type, PMC *init)>
As C<constant_pmc_new>, but passes C<init> to the PMC's C<init_pmc> vtable
entry.
@@ -436,7 +436,7 @@
/*
-=item C<PMC * temporary_pmc_new>
+=item C<PMC * temporary_pmc_new(PARROT_INTERP, INTVAL base_type)>
Creates a new temporary PMC of type C<base_type>, the call C<init>. B<You> are
responsible for freeing this PMC when it goes out of scope with
@@ -468,15 +468,10 @@
return pmc;
}
-
/*
-=item C<void temporary_pmc_free>
-
-Frees a new temporary PMC created by C<temporary_pmc_new()>. Do not call this
-with any other type of PMC. Do not forget to call this (or you'll leak PMCs).
-Read and I<understand> the warnings for C<temporary_pmc_new()> before you're
-tempted to use this.
+=item C<static void pmc_free_to_pool(PARROT_INTERP, PMC *pmc,
+Small_Object_Pool *pool)>
=cut
@@ -498,6 +493,18 @@
pool->num_free_objects++;
}
+/*
+
+=item C<void temporary_pmc_free(PARROT_INTERP, PMC *pmc)>
+
+Frees a new temporary PMC created by C<temporary_pmc_new()>. Do not call this
+with any other type of PMC. Do not forget to call this (or you'll leak PMCs).
+Read and I<understand> the warnings for C<temporary_pmc_new()> before you're
+tempted to use this.
+
+=cut
+
+*/
void
temporary_pmc_free(PARROT_INTERP, ARGMOD(PMC *pmc))
@@ -507,6 +514,14 @@
pmc_free_to_pool(interp, pmc, pool);
}
+/*
+
+=item C<static void pmc_free(PARROT_INTERP, PMC *pmc)>
+
+=cut
+
+*/
+
static void
pmc_free(PARROT_INTERP, ARGMOD(PMC *pmc))
{
@@ -516,6 +531,13 @@
}
+/*
+
+=item C<INTVAL get_new_vtable_index(PARROT_INTERP)>
+
+=cut
+
+*/
INTVAL
get_new_vtable_index(PARROT_INTERP)
@@ -532,7 +554,7 @@
/*
-=item C<INTVAL pmc_register>
+=item C<INTVAL pmc_register(PARROT_INTERP, STRING *name)>
Registers the name of a new PMC type with Parrot, returning the INTVAL
representing that type.
@@ -568,7 +590,7 @@
/*
-=item C<INTVAL pmc_type>
+=item C<INTVAL pmc_type(PARROT_INTERP, STRING *name)>
Returns the PMC type for C<name>.
@@ -604,7 +626,7 @@
/*
-=item C<INTVAL pmc_type_p>
+=item C<INTVAL pmc_type_p(PARROT_INTERP, PMC *name)>
Returns the PMC type for C<name>.
@@ -631,7 +653,7 @@
/*
-=item C<static PMC * create_class_pmc>
+=item C<static PMC * create_class_pmc(PARROT_INTERP, INTVAL type)>
Create a class object for this interpreter. Takes an interpreter name and type
as arguments. Returns a pointer to the class object.
@@ -682,7 +704,7 @@
/*
-=item C<void Parrot_create_mro>
+=item C<void Parrot_create_mro(PARROT_INTERP, INTVAL type)>
Create the MRO (method resolution order) array for this type.
@@ -753,7 +775,7 @@
=over 4
-=item C<void gc_register_pmc>
+=item C<void gc_register_pmc(PARROT_INTERP, PMC *pmc)>
Registers the PMC with the interpreter's GC registry.
@@ -778,7 +800,7 @@
/*
-=item C<void gc_unregister_pmc>
+=item C<void gc_unregister_pmc(PARROT_INTERP, PMC *pmc)>
Unregisters the PMC from the interpreter's GC registry.
Modified: trunk/src/scheduler.c
==============================================================================
--- trunk/src/scheduler.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/scheduler.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2007-2008, Parrot Foundation.
+Copyright (C) 2007-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -61,7 +61,7 @@
=over 4
-=item C<void Parrot_cx_init_scheduler>
+=item C<void Parrot_cx_init_scheduler(PARROT_INTERP)>
Initalize the concurrency scheduler for the interpreter.
@@ -88,7 +88,7 @@
/*
-=item C<void Parrot_cx_check_tasks>
+=item C<void Parrot_cx_check_tasks(PARROT_INTERP, PMC *scheduler)>
If a wake request has been received, handle tasks.
@@ -106,7 +106,7 @@
/*
-=item C<void Parrot_cx_handle_tasks>
+=item C<void Parrot_cx_handle_tasks(PARROT_INTERP, PMC *scheduler)>
Handle the pending tasks in the scheduler's task list. Returns when there are
no more pending tasks. Returns 0 to terminate the scheduler runloop, or 1 to
@@ -162,7 +162,7 @@
/*
-=item C<void Parrot_cx_refresh_task_list>
+=item C<void Parrot_cx_refresh_task_list(PARROT_INTERP, PMC *scheduler)>
Tell the scheduler to perform maintenance on its list of active tasks, checking
for completed timers or sleep events, sorting for priority, checking for
@@ -187,7 +187,7 @@
/*
-=item C<void Parrot_cx_runloop_wake>
+=item C<void Parrot_cx_runloop_wake(PARROT_INTERP, PMC *scheduler)>
Wake a sleeping scheduler runloop (generally called when new tasks are added to
the scheduler's task list).
@@ -207,7 +207,7 @@
/*
-=item C<void Parrot_cx_runloop_end>
+=item C<void Parrot_cx_runloop_end(PARROT_INTERP)>
Schedule an event to terminate the scheduler runloop.
@@ -226,7 +226,7 @@
/*
-=item C<void Parrot_cx_schedule_task>
+=item C<void Parrot_cx_schedule_task(PARROT_INTERP, PMC *task)>
Add a task to scheduler's task list. Cannot be called across
interpreters/threads, must be called from within the interpreter's runloop.
@@ -249,7 +249,7 @@
/*
-=item C<PMC * Parrot_cx_peek_task>
+=item C<PMC * Parrot_cx_peek_task(PARROT_INTERP)>
Retrieve the the top task on the scheduler's task list, but don't remove it
from the list.
@@ -273,7 +273,8 @@
/*
-=item C<void Parrot_cx_schedule_timer>
+=item C<void Parrot_cx_schedule_timer(PARROT_INTERP, STRING *type,
+FLOATVAL duration, FLOATVAL interval, INTVAL repeat, PMC *sub)>
Create a new timer event due at C<diff> from now, repeated at C<interval>
and running the passed C<sub>.
@@ -309,7 +310,7 @@
/*
-=item C<void Parrot_cx_schedule_repeat>
+=item C<void Parrot_cx_schedule_repeat(PARROT_INTERP, PMC *task)>
Add a repeat task to scheduler's task list.
@@ -340,7 +341,7 @@
/*
-=item C<void Parrot_cx_schedule_callback>
+=item C<void Parrot_cx_schedule_callback(PARROT_INTERP, PMC *user_data, char *ext_data)>
Create a new callback event, with an argument for the call.
@@ -366,7 +367,7 @@
/*
-=item C<void Parrot_cx_request_suspend_for_gc>
+=item C<void Parrot_cx_request_suspend_for_gc(PARROT_INTERP)>
Tell the scheduler to suspend for GC at the next safe pause.
@@ -387,7 +388,7 @@
/*
-=item C<void Parrot_cx_delete_task>
+=item C<void Parrot_cx_delete_task(PARROT_INTERP, PMC *task)>
Remove a task from the scheduler's task list.
@@ -412,7 +413,7 @@
/*
-=item C<PMC * Parrot_cx_delete_suspend_for_gc>
+=item C<PMC * Parrot_cx_delete_suspend_for_gc(PARROT_INTERP)>
Remove a message that would suspend GC from the message queue. (Provided for
backward compatibility in the threads implementation.)
@@ -467,7 +468,7 @@
/*
-=item C<void Parrot_cx_add_handler_local>
+=item C<void Parrot_cx_add_handler_local(PARROT_INTERP, PMC *handler)>
Add a handler to the current context's list of handlers.
@@ -489,7 +490,7 @@
/*
-=item C<void Parrot_cx_delete_handler_local>
+=item C<void Parrot_cx_delete_handler_local(PARROT_INTERP, STRING *handler_type)>
Remove the top task handler of a particular type from the context's list of
handlers.
@@ -559,7 +560,7 @@
/*
-=item C<INTVAL Parrot_cx_count_handlers_local>
+=item C<INTVAL Parrot_cx_count_handlers_local(PARROT_INTERP, STRING *handler_type)>
Count the number of active handlers of a particular type from the
context's list of handlers.
@@ -626,7 +627,7 @@
/*
-=item C<void Parrot_cx_add_handler>
+=item C<void Parrot_cx_add_handler(PARROT_INTERP, PMC *handler)>
Add a task handler to scheduler's list of handlers.
@@ -649,7 +650,7 @@
/*
-=item C<void Parrot_cx_delete_handler_typed>
+=item C<void Parrot_cx_delete_handler_typed(PARROT_INTERP, STRING *handler_type)>
Remove the top task handler of a particular type from the scheduler's list of
handlers.
@@ -672,7 +673,7 @@
/*
-=item C<INTVAL Parrot_cx_count_handlers_typed>
+=item C<INTVAL Parrot_cx_count_handlers_typed(PARROT_INTERP, STRING *handler_type)>
Count the number of active handlers of a particular type (event, exception) in
the concurrency scheduler.
@@ -708,7 +709,7 @@
=over 4
-=item C<void Parrot_cx_send_message>
+=item C<void Parrot_cx_send_message(PARROT_INTERP, STRING *messagetype, PMC *payload)>
Send a message to a scheduler in a different interpreter/thread.
@@ -748,7 +749,7 @@
/*
-=item C<void Parrot_cx_broadcast_message>
+=item C<void Parrot_cx_broadcast_message(PARROT_INTERP, STRING *messagetype, PMC *data)>
Send a message to the schedulers in all interpreters/threads linked to this
one.
@@ -784,7 +785,7 @@
=over 4
-=item C<PMC * Parrot_cx_find_handler_for_task>
+=item C<PMC * Parrot_cx_find_handler_for_task(PARROT_INTERP, PMC *task)>
Retrieve a handler appropriate to a given task. If the scheduler has no
appropriate handler, returns PMCNULL.
@@ -819,7 +820,7 @@
/*
-=item C<PMC * Parrot_cx_find_handler_local>
+=item C<PMC * Parrot_cx_find_handler_local(PARROT_INTERP, PMC *task)>
Retrieve a handler appropriate to a given task from the local context. If the
context has no appropriate handler, returns PMCNULL.
@@ -923,7 +924,7 @@
/*
-=item C<void Parrot_cx_timer_invoke>
+=item C<void Parrot_cx_timer_invoke(PARROT_INTERP, PMC *timer)>
Run the associated code block for a timer event, when the timer fires.
@@ -949,7 +950,7 @@
/*
-=item C<void Parrot_cx_invoke_callback>
+=item C<void Parrot_cx_invoke_callback(PARROT_INTERP, PMC *callback)>
Run the associated code block for a callback event.
@@ -980,7 +981,7 @@
=over 4
-=item C<opcode_t * Parrot_cx_schedule_sleep>
+=item C<opcode_t * Parrot_cx_schedule_sleep(PARROT_INTERP, FLOATVAL time, opcode_t *next)>
Add a sleep timer to the scheduler. This function is called by the C<sleep>
opcode.
@@ -1040,7 +1041,7 @@
=over 4
-=item C<static void scheduler_process_wait_list>
+=item C<static void scheduler_process_wait_list(PARROT_INTERP, PMC *scheduler)>
Scheduler maintenance, scan the list of waiting tasks to see if any are ready
to become active tasks.
@@ -1086,7 +1087,7 @@
=over 4
-=item C<static void scheduler_process_messages>
+=item C<static void scheduler_process_messages(PARROT_INTERP, PMC *scheduler)>
Scheduler maintenance, scan the list of messages sent from other schedulers and
take appropriate action on any received.
Modified: trunk/src/vtables.c
==============================================================================
--- trunk/src/vtables.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/vtables.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, Parrot Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -23,7 +23,7 @@
/*
-=item C<VTABLE * Parrot_new_vtable>
+=item C<VTABLE * Parrot_new_vtable(PARROT_INTERP)>
Creates and returns a pointer to the new C<VTABLE>.
@@ -43,7 +43,7 @@
/*
-=item C<VTABLE * Parrot_clone_vtable>
+=item C<VTABLE * Parrot_clone_vtable(PARROT_INTERP, const VTABLE *base_vtable)>
Clones C<*base_vtable> and returns a pointer to the new C<VTABLE>.
@@ -76,7 +76,7 @@
/*
-=item C<void Parrot_destroy_vtable>
+=item C<void Parrot_destroy_vtable(PARROT_INTERP, VTABLE *vtable)>
Destroys C<*vtable>.
@@ -117,7 +117,7 @@
/*
-=item C<void parrot_alloc_vtables>
+=item C<void parrot_alloc_vtables(PARROT_INTERP)>
Allocate memory for the vtables for all known classes (PMC types).
@@ -136,7 +136,7 @@
/*
-=item C<void parrot_realloc_vtables>
+=item C<void parrot_realloc_vtables(PARROT_INTERP)>
Reallocate memory for vtables, increasing the number of vtables by 16.
@@ -163,7 +163,7 @@
/*
-=item C<void parrot_free_vtables>
+=item C<void parrot_free_vtables(PARROT_INTERP)>
Free memory allocated for the vtables. Each vtable is destroyed
through its destructor Parrot_destroy_vtable, after which the list
@@ -187,7 +187,7 @@
/*
-=item C<void mark_vtables>
+=item C<void mark_vtables(PARROT_INTERP)>
Mark all vtables as being alive for the garbage collector.
Modified: trunk/src/warnings.c
==============================================================================
--- trunk/src/warnings.c Sat Mar 28 17:15:53 2009 (r37805)
+++ trunk/src/warnings.c Sat Mar 28 18:00:23 2009 (r37806)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2008, Parrot Foundation.
+Copyright (C) 2001-2009, Parrot Foundation.
$Id$
=head1 NAME
@@ -36,7 +36,7 @@
/*
-=item C<void print_pbc_location>
+=item C<void print_pbc_location(PARROT_INTERP)>
Prints the bytecode location of the warning or error to C<Parrot_io_STDERR>.
@@ -59,7 +59,7 @@
/*
-=item C<static INTVAL print_warning>
+=item C<static INTVAL print_warning(PARROT_INTERP, STRING *msg)>
Prints the warning message and the bytecode location.
@@ -90,7 +90,8 @@
=over 4
-=item C<INTVAL Parrot_warn>
+=item C<INTVAL Parrot_warn(PARROT_INTERP, INTVAL warnclass,
+const char *message, ...)>
The Parrot C string warning/error reporter.
More information about the parrot-commits
mailing list