NAME ^

src/pmc.c - The base vtable calling functions

DESCRIPTION ^

Functions ^

pmc_new

Creates a new PMC of type base_type (which is an index into the list of PMC types declared in vtables in include/parrot/pmc.h). Once the PMC has been successfully created and its vtable pointer initialized, we call its init method to perform any other necessary initialization.

pmc_reuse

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) and the PMC will be ready to go. This will throw an exception if the PMC is constant or of a singleton type (such as the environment PMC) or is being turned into a PMC of a singleton type.

get_new_pmc_header

Gets a new PMC header.

pmc_new_noinit

Creates a new PMC of type base_type (which is an index into the list of PMC types declared in vtables in include/parrot/pmc.h). Unlike pmc_new(), pmc_new_noinit() does not call its init method. This allows separate allocation and initialization for continuations.

constant_pmc_new_noinit

Creates a new constant PMC of type base_type.

constant_pmc_new

Creates a new constant PMC of type base_type, the call init.

pmc_new_init

As pmc_new(), but passes init to the PMC's init_pmc() method.

constant_pmc_new_init

As constant_pmc_new, but passes init to the PMC's init_pmc method.

pmc_register

This segment handles PMC registration and such.

pmc_type

Returns the PMC type for name.

pmc_type_p

Returns the PMC type for name.

Parrot_create_mro

Create the MRO (method resolution order) array for this type.

DOD registry interface ^

dod_register_pmc

Registers the PMC with the interpreter's DOD registery.

dod_unregister_pmc

Unregisters the PMC from the interpreter's DOD registry.

PMC Proxy related things ^

Parrot_create_pmc_proxy

Creates a PMC Proxy for the supplied class number and puts it into the array of proxies.

SEE ALSO ^

include/parrot/vtable.h.

5.1.0.14.2.20011008152120.02158148@pop.sidhe.org (http://www.nntp.perl.org/group/perl.perl6.internals/5516).

HISTORY ^

Initial version by Simon on 2001.10.20.


parrot