diff options
author | David Mitchell <davem@iabyn.com> | 2015-12-25 23:54:23 +0000 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2016-02-03 09:19:18 +0000 |
commit | 47878d9caf766872f9956edf713aa65c5b6383aa (patch) | |
tree | dec7908731ad4d11b6a9013368cdfb51aeded8af /pp_sort.c | |
parent | 49f582ca76846f57550ebf6b762959f757bbdcd5 (diff) | |
download | perl-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.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -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, |