src/pmc/coroutine.pmc - Coroutine PMC


Coroutine extends Sub to provide a subroutine that can stop in the middle, and start back up later at the point at which it stopped. See the Glossary for more information.


private0 call flip flop
private3 restore current sub after "flop". Used by generators.


static void print_sub_name(PARROT_INTERP, PMC *sub_pmc)
static function to print coroutine information (for tracing/debugging)
void init()
Initializes the coroutine.
PMC *clone()
Clone the coroutine.
PMC * clone()
Clones the coroutine.
void increment()
Signals the start of a yield.
opcode_t *invoke(void *next)
Swaps the "context".