diff options
author | David Mitchell <davem@iabyn.com> | 2022-11-16 10:30:10 +0000 |
---|---|---|
committer | Yves Orton <demerphq@gmail.com> | 2023-02-28 20:53:51 +0800 |
commit | 0b6c6e4e306c6b4830a1cc197230ebdbb1c92140 (patch) | |
tree | 7061becfd51b9f75d687999e3058f2b24c7fd81c | |
parent | e59c0ae3bee1fdc875ad714006af9072efee840a (diff) | |
download | perl-0b6c6e4e306c6b4830a1cc197230ebdbb1c92140.tar.gz |
don't call pp_pushmark() to push a mark
A few places were calling pp_pushmark(), when they should have been just
directly doing a PUSHMARK()
-rw-r--r-- | pp.c | 3 | ||||
-rw-r--r-- | pp_ctl.c | 6 |
2 files changed, 4 insertions, 5 deletions
@@ -6748,8 +6748,7 @@ PP(pp_coreargs) to come in between two things this function does (stack reset and arg pushing). This seems the easiest way to do it. */ if (pushmark) { - PUTBACK; - (void)Perl_pp_pushmark(aTHX); + PUSHMARK(SP); } EXTEND(SP, maxargs == I32_MAX ? numargs : maxargs); @@ -978,8 +978,8 @@ PP(pp_grepstart) RETURNOP(PL_op->op_next->op_next); } PL_stack_sp = PL_stack_base + TOPMARK + 1; - Perl_pp_pushmark(aTHX); /* push dst */ - Perl_pp_pushmark(aTHX); /* push src */ + PUSHMARK(PL_stack_sp); /* push dst */ + PUSHMARK(PL_stack_sp); /* push src */ ENTER_with_name("grep"); /* enter outer scope */ SAVETMPS; @@ -997,7 +997,7 @@ PP(pp_grepstart) PUTBACK; if (PL_op->op_type == OP_MAPSTART) - Perl_pp_pushmark(aTHX); /* push top */ + PUSHMARK(PL_stack_sp); /* push top */ return cLOGOPx(PL_op->op_next)->op_other; } |