diff options
author | David Mitchell <davem@iabyn.com> | 2020-04-27 21:54:16 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2020-04-27 21:54:16 +0100 |
commit | 79f75eaa716307235be78834c99ba0599a00319b (patch) | |
tree | 53aa9e331c8d42d3bc6f77774dd648e8a4e97136 /op.c | |
parent | d0b5de5644ac01ea2ccdbd8cbe7dd9c5fe225af4 (diff) | |
download | perl-79f75eaa716307235be78834c99ba0599a00319b.tar.gz |
Revert "avoid identical stack traces"
This reverts commit f2f32cd638746f538da6db804dab6dd54e654f30.
Diffstat (limited to 'op.c')
-rw-r--r-- | op.c | 24 |
1 files changed, 1 insertions, 23 deletions
@@ -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)); |