This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add PL_curstackinfo->si_cxsubix field
authorDavid Mitchell <davem@iabyn.com>
Tue, 17 Sep 2019 13:20:40 +0000 (14:20 +0100)
committerDavid Mitchell <davem@iabyn.com>
Thu, 19 Sep 2019 07:42:46 +0000 (08:42 +0100)
commit740449bf2292b54e1824f48789ef1a15877469d5
tree779b4f0cc325d4c946583d021a2dc15ce53cd42d
parent20550e1aa3f65750f061802d4df74a3faaf463a9
add PL_curstackinfo->si_cxsubix field

This tracks the most recent sub/eval/format context pushed onto the
context stack. Then make dopopto_cursub use it.

The previous value is saved in the cxt struct, and is restored whenever
the context is popped.

This adds a tiny overhead for every sub call, but speeds up other
operations, such as determining the caller context when returning a
value from a sub - this has to be dpne for every sub call where the last
expression is context sensitive, so its often a win.
cop.h
inline.h
pp_ctl.c
scope.c
sv.c