diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-02-21 16:12:37 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-02-21 16:12:37 +0000 |
commit | f73ef291429b5bbca51e74d1a29b172b5d7304ea (patch) | |
tree | 250a34ff9c484b8b3636483cfe919a34d0532f4d /pp_ctl.c | |
parent | 26a32e18faa6fb3ffd3cdf7009426aef1a8abd16 (diff) | |
download | perl-f73ef291429b5bbca51e74d1a29b172b5d7304ea.tar.gz |
Goodbye PERL_XSUB_OLDSTYLE.
p4raw-id: //depot/perl@27260
Diffstat (limited to 'pp_ctl.c')
-rw-r--r-- | pp_ctl.c | 21 |
1 files changed, 2 insertions, 19 deletions
@@ -2371,29 +2371,13 @@ PP(pp_goto) SAVEFREESV(cv); /* later, undo the 'avoid premature free' hack */ if (CvISXSUB(cv)) { OP* retop = cx->blk_sub.retop; + SV **newsp; + I32 gimme; if (reified) { I32 index; for (index=0; index<items; index++) sv_2mortal(SP[-index]); } -#ifdef PERL_XSUB_OLDSTYLE - if (CvOLDSTYLE(cv)) { - I32 (*fp3)(int,int,int); - while (SP > mark) { - SP[1] = SP[0]; - SP--; - } - fp3 = (I32(*)(int,int,int))CvXSUB(cv); - items = (*fp3)(CvXSUBANY(cv).any_i32, - mark - PL_stack_base + 1, - items); - SP = PL_stack_base + items; - } - else -#endif /* PERL_XSUB_OLDSTYLE */ - { - SV **newsp; - I32 gimme; /* XS subs don't have a CxSUB, so pop it */ POPBLOCK(cx, PL_curpm); @@ -2404,7 +2388,6 @@ PP(pp_goto) /* Put these at the bottom since the vars are set but not used */ PERL_UNUSED_VAR(newsp); PERL_UNUSED_VAR(gimme); - } LEAVE; return retop; } |