summaryrefslogtreecommitdiff
path: root/pp_sort.c
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2015-12-25 23:54:23 +0000
committerDavid Mitchell <davem@iabyn.com>2016-02-03 09:19:18 +0000
commit47878d9caf766872f9956edf713aa65c5b6383aa (patch)
treedec7908731ad4d11b6a9013368cdfb51aeded8af /pp_sort.c
parent49f582ca76846f57550ebf6b762959f757bbdcd5 (diff)
downloadperl-47878d9caf766872f9956edf713aa65c5b6383aa.tar.gz
move PL_savestack_ix saving into PUSHBLOCK
Currently blku_oldsaveix was being set by the various PUSHFOO macros, except for PUSHSUB and PUSHEVAL which expected their caller to do it manually. Now that all the main context state is stored on the context stack rather than than some on the save stack too, things are a lot simpler, and this messy transitional state can now be rationalised, whereby blku_oldsaveix is now always set by PUSHBLOCK; the exact value being specified by a new arg to PUSHBLOCK.
Diffstat (limited to 'pp_sort.c')
-rw-r--r--pp_sort.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/pp_sort.c b/pp_sort.c
index 9e0d64cb04..65609da5fe 100644
--- a/pp_sort.c
+++ b/pp_sort.c
@@ -1668,7 +1668,7 @@ PP(pp_sort)
}
gimme = G_SCALAR;
- PUSHBLOCK(cx, CXt_NULL, PL_stack_base);
+ PUSHBLOCK(cx, CXt_NULL, PL_stack_base, old_savestack_ix);
if (!(flags & OPf_SPECIAL)) {
cx->cx_type = CXt_SUB|CXp_MULTICALL;
PUSHSUB(cx);
@@ -1689,7 +1689,6 @@ PP(pp_sort)
}
}
- cx->blk_oldsaveix = old_savestack_ix;
start = p1 - max;
sortsvp(aTHX_ start, max,