summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2020-04-27 21:54:16 +0100
committerDavid Mitchell <davem@iabyn.com>2020-04-27 21:54:16 +0100
commit79f75eaa716307235be78834c99ba0599a00319b (patch)
tree53aa9e331c8d42d3bc6f77774dd648e8a4e97136 /op.c
parentd0b5de5644ac01ea2ccdbd8cbe7dd9c5fe225af4 (diff)
downloadperl-79f75eaa716307235be78834c99ba0599a00319b.tar.gz
Revert "avoid identical stack traces"
This reverts commit f2f32cd638746f538da6db804dab6dd54e654f30.
Diffstat (limited to 'op.c')
-rw-r--r--op.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/op.c b/op.c
index cd2dc44229..322d6d6641 100644
--- a/op.c
+++ b/op.c
@@ -11722,32 +11722,10 @@ S_process_special_blocks(pTHX_ I32 floor, const char *const fullname,
(void)CvGV(cv);
if (floor) LEAVE_SCOPE(floor);
ENTER;
-
- SAVEVPTR(PL_curcop);
- if (PL_curcop == &PL_compiling) {
- /* Avoid pushing the "global" &PL_compiling onto the
- * context stack. For example, a stack trace inside
- * nested use's would show all calls coming from whoever
- * most recently updated PL_compiling.cop_file and
- * cop_line. So instead, temporarily set PL_curcop to a
- * private copy of &PL_compiling. PL_curcop will soon be
- * set to point back to &PL_compiling anyway but only
- * after the temp value has been pushed onto the context
- * stack as blk_oldcop.
- * This is slightly hacky, but necessary. Note also
- * that in the brief window before PL_curcop is set back
- * to PL_compiling, IN_PERL_COMPILETIME/IN_PERL_RUNTIME
- * will give the wrong answer.
- */
- Newx(PL_curcop, 1, COP);
- StructCopy(&PL_compiling, PL_curcop, COP);
- PL_curcop->op_slabbed = 0;
- SAVEFREEPV(PL_curcop);
- }
-
PUSHSTACKi(PERLSI_REQUIRE);
SAVECOPFILE(&PL_compiling);
SAVECOPLINE(&PL_compiling);
+ SAVEVPTR(PL_curcop);
DEBUG_x( dump_sub(gv) );
Perl_av_create_and_push(aTHX_ &PL_beginav, MUTABLE_SV(cv));