pic.ops - PIC (Polymorphic Inline Cache) Opcodes [deprecated]


During predereferencing opcodes that allow caching are rewritten so that equivalent opcodes in this file are used. User code MUST never emit these opcodes directly.

General infix operations

These operations take an infix operation number and PMC arguments.

pic_infix__(inconst INT, invar PMC, invar PMC)
One for fun and MOPS.
pic_inline_sub__(inconst INT, invar PMC, invar PMC)
And for more fun an inlined variant too.
pic_get_params__(inconst PMC /* , ... */)
Fetch function parameters for this subroutine.
pic_set_returns__(inconst PMC /* , ... */)
Return values to caller.
pic_callr__(inconst PMC)
Call the function $1 as pc = func(interp, 0, **args). args[0] holds the address of the function result, args[1..] are function arguments, both according to the get_results and set_args opcodes. The function is a C interface function (or NCI) or a JITed PIR function. args[n+1] holds the pc of the next opcode and is usually just returned.


Copyright (C) 2005-2008, Parrot Foundation.


This program is free software. It is subject to the same license as the Parrot interpreter itself.