summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>1999-10-17 14:51:35 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>1999-10-17 14:51:35 +0000
commite631c953b3966314f0191272fa1ccb1a3d8fd885 (patch)
tree4be039fc811b5356735fa3f6a32ee73a53fe6894 /pp_hot.c
parente6d78dcc789dccb982e1607cb4aa1ffdbeb189b0 (diff)
parente87397262fea23fa89ba85aa7fe9c848306450ab (diff)
downloadperl-e631c953b3966314f0191272fa1ccb1a3d8fd885.tar.gz
Pre-trip resolve
p4raw-id: //depot/utfperl@4399
Diffstat (limited to 'pp_hot.c')
-rw-r--r--pp_hot.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/pp_hot.c b/pp_hot.c
index ebef05c115..d3a2a51aa3 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2536,7 +2536,13 @@ try_autoload:
"%p entersub preparing @_\n", thr));
#endif
av = (AV*)PL_curpad[0];
- assert(!AvREAL(av));
+ if (AvREAL(av)) {
+ /* @_ is normally not REAL--this should only ever
+ * happen when DB::sub() calls things that modify @_ */
+ av_clear(av);
+ AvREAL_off(av);
+ AvREIFY_on(av);
+ }
#ifndef USE_THREADS
cx->blk_sub.savearray = GvAV(PL_defgv);
GvAV(PL_defgv) = (AV*)SvREFCNT_inc(av);