_f()
expands (besides other instructions) to something like:
newsub P0, .Sub, _f
invokecc
I've now hacked together this sequence:
1) a new opcode (in dynoplibs/myops.ops for quick testing)
op pmc_const(out PMC, inlabelconst INT) {
$1 = PCONST($2)->u.key;
goto NEXT();
}
2) The call:
loadlib P10, "myops_ops"
pmc_const P0, 3
...
invokecc
(The constant number #3 is known to imcc when generating the const table
entry - actuall it would ne more like pmc_const P0, _f)
So *if* all is as static as in this code, and the Sub PMC isn't abused
by different callers (e.g. by attaching properties or such), then this
scheme would safe the C<newsub> operation, i.e. the construction of a
new PMC.
Comments welcome,
leo