Matt S Trout > Rakudo-Star > src/pmc/nci.pmc

Download:
Rakudo-Star-2012.08_001.tar.gz

Annotate this POD

Source  

NAME ^

src/pmc/nci.pmc - Native Call Interface

DESCRIPTION ^

The vtable functions for the native C call functions.

Methods

static nci_thunk_t build_func(PARROT_INTERP, PMC *obj, Parrot_NCI_attributes *nci)

Actually build the NCI thunk.

METHOD get_multisig()

Return the MMD signature PMC, if any or PMCNULL.

void init()

Initializes the NCI with a NULL function pointer.

void set_pmc_keyed(PMC *key, PMC *p)
void set_pmc_keyed_str(STRING *key, PMC *p)

Call the equivalent set_pointer* function.

void set_pointer_keyed(PMC *key, void *func)

Sets the specified function pointer and signature (*key).

void set_pointer_keyed_str(STRING *key, void *func)

Sets the specified function pointer and siganture as described in the string key.

void mark()

Mark any referenced strings and PMCs.

PMC *clone()

Creates and returns a clone of the NCI.

INTVAL defined()

Returns whether the NCI is defined.

opcode_t *invoke(void *next)

Calls the associated C function, returning *next. If the invocant is a class, the PMC arguments are shifted down.

INTVAL get_integer()

Returns the function pointer as an integer.

INTVAL get_bool()

Returns the boolean value of the pointer.

METHOD arity()

Return the arity of the NCI (the number of arguments).

SEE ALSO ^

docs/pdds/pdd03_calling_conventions.pod.

syntax highlighting: