diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-11-30 22:46:37 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-11-30 22:46:37 +0000 |
commit | 2fd8beea017eccf05d12bfa6e4db7c5340ce637b (patch) | |
tree | 49346b27333d4b5a7519f212fe63cced96e2933a /scope.h | |
parent | c6ae76470e6575530141df6c32cf71111bc2e391 (diff) | |
download | perl-2fd8beea017eccf05d12bfa6e4db7c5340ce637b.tar.gz |
Convert all the scope save functions of the form
SSCHECK(2);
SSPUSHPTR(o);
SSPUSHINT(SAVEt_FREEOP);
into a single function Perl_save_pushptr(ptr, type), which the others
call. Implement the others as macros. This reduces the object code size.
p4raw-id: //depot/perl@34956
Diffstat (limited to 'scope.h')
-rw-r--r-- | scope.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -260,6 +260,12 @@ Closing bracket on a callback. See C<ENTER> and L<perlcall>. #define SSPTR(off,type) ((type) ((char*)PL_savestack + off)) #define SSPTRt(off,type) ((type*) ((char*)PL_savestack + off)) +#define save_freesv(op) save_pushptr((void *)(op), SAVEt_FREESV) +#define save_mortalizesv(op) save_pushptr((void *)(op), SAVEt_MORTALIZESV) +#define save_freeop(op) save_pushptr((void *)(op), SAVEt_FREEOP) +#define save_freepv(pv) save_pushptr((void *)(pv), SAVEt_FREEPV) +#define save_op() save_pushptr((void *)(PL_op), SAVEt_OP) + /* * Local variables: * c-indentation-style: bsd |