*
*/
-/* *** these are ordered by number of of auto-popped args */
+/* *** Update arg_counts[] in scope.c if you modify these */
/* zero args */
#define SAVEt_CLEARSV 2
#define SAVEt_REGCONTEXT 3
-#define SAVEt_ARG0_MAX 3
-
/* one arg */
#define SAVEt_TMPSFLOOR 4
#define SAVEt_READONLY_OFF 21
#define SAVEt_FREEPADNAME 22
-#define SAVEt_ARG1_MAX 22
-
/* two args */
#define SAVEt_AV 23
#define SAVEt_ADELETE 46
#define SAVEt_APTR 47
-#define SAVEt_ARG2_MAX 47
-
/* three args */
#define SAVEt_HELEM 48
#define SAVEt_GVSLOT 51
#define SAVEt_AELEM 52
#define SAVEt_DELETE 53
+#define SAVEt_HINTS_HH 54
#define SAVEf_SETMAGIC 1
/*
-=head1 Callback Functions
+=for apidoc_section $callback
-=for apidoc Ams||SAVETMPS
+=for apidoc Amns||SAVETMPS
Opening bracket for temporaries on a callback. See C<L</FREETMPS>> and
L<perlcall>.
-=for apidoc Ams||FREETMPS
+=for apidoc Amns||FREETMPS
Closing bracket for temporaries on a callback. See C<L</SAVETMPS>> and
L<perlcall>.
-=for apidoc Ams||ENTER
+=for apidoc Amns||ENTER
Opening bracket on a callback. See C<L</LEAVE>> and L<perlcall>.
-=for apidoc Ams||LEAVE
+=for apidoc Amns||LEAVE
Closing bracket on a callback. See C<L</ENTER>> and L<perlcall>.
-=over
+=for apidoc Ams||ENTER_with_name|"name"
-=item ENTER_with_name(name)
-
-Same as C<ENTER>, but when debugging is enabled it also associates the
+Same as C<L</ENTER>>, but when debugging is enabled it also associates the
given literal string with the new scope.
-=item LEAVE_with_name(name)
-
-Same as C<LEAVE>, but when debugging is enabled it first checks that the
-scope has the given name. C<name> must be a C<NUL>-terminated literal string.
+=for apidoc Ams||LEAVE_with_name|"name"
-=back
+Same as C<L</LEAVE>>, but when debugging is enabled it first checks that the
+scope has the given name. C<name> must be a literal string.
=cut
*/
#define SAVECOPLINE(c) SAVEI32(CopLINE(c))
/* SSNEW() temporarily allocates a specified number of bytes of data on the
- * savestack. It returns an integer index into the savestack, because a
+ * savestack. It returns an I32 index into the savestack, because a
* pointer would get broken if the savestack is moved on reallocation.
* SSNEWa() works like SSNEW(), but also aligns the data to the specified
* number of bytes. MEM_ALIGNBYTES is perhaps the most useful. The