bmdhacks has asked for the wisdom of the Perl Monks concerning the following question:

How do you call an XSUB from another XSUB? is perl_call_* the best way to do it, or is there some method of calling it directly, perhaps after placing the arguments on the stack?

Replies are listed 'Best First'.
Re: calling XSUBs from other XSUBs?
by JayBonci (Curate) on Apr 12, 2002 at 23:43 UTC
    After a few websearches, it seems as if you can use:
    (void)(*CvXSUB(cv))(cv);
    to skip the overhead of perl_call_sv() and call the internal C code directly. Supposedly, this is much faster. I've only barely touched perlguts, perlapi, anc perlcall stuff with C modules, so I'm unsure, but I hope it works for you. At least it might get you started.

        --jb