NAME ^

src/gc/resources.c - Handling Small Object Pools

DESCRIPTION ^

Handles the accessing of small object pools (header pools).

Functions ^

contained_in_pool

Returns whether pool contains *ptr.

XXX If ever there is a function that ought to be consted, this is it.

Parrot_is_const_pmc

Returns whether *pmc is a constant PMC.

more_traceable_objects

We're out of traceable objects. Try a DOD, then get some more if needed.

gc_ms_add_free_object

Add an unused object back to the free pool for later reuse.

gc_ms_get_free_object

Get a new object from the free pool and return it.

Parrot_add_to_free_list

Adds the objects in the newly allocated arena to the free list.

Parrot_append_arena_in_pool

insert the new arena into the pool's structure, update stats

gc_ms_alloc_objects

We have no more headers on the free header pool. Go allocate more and put them on.

new_small_object_pool

Creates a new Small_Object_Pool and returns a pointer to it.

gc_pmc_ext_pool_init

TODO: Not yet documented!!!

gc_ms_pool_init

TODO: Not yet documented!!!

Parrot_gc_ms_init

Initialize the state structures of the gc system. Called immediately before creation of memory pools. This function must set the function pointers for add_free_object_fn, get_free_object_fn, alloc_object_fn, and more_object_fn.

Parrot_small_object_pool_merge

Merge source into dest.

SEE ALSO ^

include/parrot/smallobject.h, docs/memory_internals.pod.


parrot