diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-01-30 10:44:38 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-01-30 10:44:38 +0000 |
commit | 6b6eec5b869ecabb6b96b0d84c01808aecc78d84 (patch) | |
tree | be188f6c9db63d9911541036c2e15a4d6b607b5d /scope.c | |
parent | 65c6b2907476177557b1357ec8e2bda83f220e47 (diff) | |
parent | 875e910638b0552c0eec0bc83eb2d5b3f85f5df5 (diff) | |
download | perl-6b6eec5b869ecabb6b96b0d84c01808aecc78d84.tar.gz |
[asperl] initial merge of latest win32 branch into ASPerl
p4raw-id: //depot/asperl@445
Diffstat (limited to 'scope.c')
-rw-r--r-- | scope.c | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -19,8 +19,16 @@ SV** stack_grow(SV **sp, SV **p, int n) { dTHR; +#if defined(DEBUGGING) && !defined(USE_THREADS) + static int growing = 0; + if (growing++) + abort(); +#endif stack_sp = sp; av_extend(curstack, (p - stack_base) + (n) + 128); +#if defined(DEBUGGING) && !defined(USE_THREADS) + growing--; +#endif return stack_sp; } @@ -197,11 +205,14 @@ AV * save_ary(GV *gv) { dTHR; - AV *oav, *av; + AV *oav = GvAVn(gv); + AV *av; + if (!AvREAL(oav) && AvREIFY(oav)) + av_reify(oav); SSCHECK(3); SSPUSHPTR(gv); - SSPUSHPTR(oav = GvAVn(gv)); + SSPUSHPTR(oav); SSPUSHINT(SAVEt_AV); GvAV(gv) = Null(AV*); |