diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2002-09-26 00:40:23 +0100 |
---|---|---|
committer | hv <hv@crypt.org> | 2002-10-02 12:55:29 +0000 |
commit | dd2155a49b710f23bc6d72169e5b1d71d8b3aa03 (patch) | |
tree | 7fd660a6b57a1893830c91b566975bbe7e085966 /cop.h | |
parent | 78c9d76351ef2d0f7047846bbf29e303753d3fda (diff) | |
download | perl-dd2155a49b710f23bc6d72169e5b1d71d8b3aa03.tar.gz |
move all pad-related code to its own src file
Message-ID: <20020925234023.A20044@fdgroup.com>
p4raw-id: //depot/perl@17953
Diffstat (limited to 'cop.h')
-rw-r--r-- | cop.h | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -114,7 +114,7 @@ struct block_sub { long olddepth; U8 hasargs; U8 lval; /* XXX merge lval and hasargs? */ - SV ** oldcurpad; + PAD oldcurpad; }; #define PUSHSUB(cx) \ @@ -161,7 +161,7 @@ struct block_sub { cx->blk_sub.argarray = newAV(); \ av_extend(cx->blk_sub.argarray, fill); \ AvFLAGS(cx->blk_sub.argarray) = AVf_REIFY; \ - cx->blk_sub.oldcurpad[0] = (SV*)cx->blk_sub.argarray; \ + CX_CURPAD_SV(cx->blk_sub, 0) = (SV*)cx->blk_sub.argarray; \ } \ else { \ CLEAR_ARGARRAY(cx->blk_sub.argarray); \ @@ -220,7 +220,7 @@ struct block_loop { OP * last_op; #ifdef USE_ITHREADS void * iterdata; - SV ** oldcurpad; + PAD oldcurpad; #else SV ** itervar; #endif @@ -235,11 +235,12 @@ struct block_loop { # define CxITERVAR(c) \ ((c)->blk_loop.iterdata \ ? (CxPADLOOP(cx) \ - ? &((c)->blk_loop.oldcurpad)[INT2PTR(PADOFFSET, (c)->blk_loop.iterdata)] \ + ? &CX_CURPAD_SV( (c)->blk_loop, \ + INT2PTR(PADOFFSET, (c)->blk_loop.iterdata)) \ : &GvSV((GV*)(c)->blk_loop.iterdata)) \ : (SV**)NULL) # define CX_ITERDATA_SET(cx,idata) \ - cx->blk_loop.oldcurpad = PL_curpad; \ + CX_CURPAD_SAVE(cx->blk_loop); \ if ((cx->blk_loop.iterdata = (idata))) \ cx->blk_loop.itersave = SvREFCNT_inc(*CxITERVAR(cx)); \ else \ |