To handle this situation, the PPCODE directive is used and the stack is
extended using the macro:
- EXTEND(sp, num);
+ EXTEND(SP, num);
-where C<sp> is the stack pointer, and C<num> is the number of elements the
-stack should be extended by.
+where C<SP> is the macro that represents the local copy of the stack pointer,
+and C<num> is the number of elements the stack should be extended by.
Now that there is room on the stack, values can be pushed on it using the
macros to push IVs, doubles, strings, and SV pointers respectively:
functions:
dSP
+ SP
PUSHMARK()
PUTBACK
SPAGAIN
=item dSP
-Declares a stack pointer variable, C<sp>, for the XSUB. See C<SP>.
+Declares a local copy of perl's stack pointer for the XSUB, available via
+the C<SP> macro. See C<SP>.
=item dXSARGS
void* Newc( x, void *ptr, int size, type, cast )
+=item newCONSTSUB
+
+Creates a constant sub equivalent to Perl C<sub FOO () { 123 }>
+which is eligible for inlining at compile-time.
+
+ void newCONSTSUB(HV* stash, char* name, SV* sv)
+
=item newHV
Creates a new HV. The reference count is set to 1.
=back
-=head1 EDITOR
+=head1 AUTHORS
-Jeff Okamoto <F<okamoto@corp.hp.com>>
+Until May 1997, this document was maintained by Jeff Okamoto
+<okamoto@corp.hp.com>. It is now maintained as part of Perl itself.
With lots of help and suggestions from Dean Roehrich, Malcolm Beattie,
Andreas Koenig, Paul Hudson, Ilya Zakharevich, Paul Marquess, Neil
Bowers, Matthew Green, Tim Bunce, Spider Boardman, Ulrich Pfeifer,
Stephen McCamant, and Gurusamy Sarathy.
-API Listing by Dean Roehrich <F<roehrich@cray.com>>.
-
-=head1 DATE
-
-Version 31.8: 1997/5/17
+API Listing originally by Dean Roehrich <roehrich@cray.com>.