diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-04-15 11:37:53 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2010-04-15 11:37:53 +0100 |
commit | f410a2119920dd04690025a349e79575cfb9c972 (patch) | |
tree | ff2c2f6480e96613f0609b4b959385c90f78bcec /scope.c | |
parent | d1515be42a17e7bb3fa584aea980f54524603f34 (diff) | |
download | perl-f410a2119920dd04690025a349e79575cfb9c972.tar.gz |
Move PERL_ASYNC_CHECK() from the runloop to control flow OPs.
For the typical code this gives a 5% speedup, and removes the cost of "safe
signals". Tight looping code will show less gains, but should never be slower.
Subtle bugs might remain - there might be constructions that enter the runloop
(where signals used to be dispatched) but don't contain any PERL_ASYNC_CHECK()
calls themselves.
Diffstat (limited to 'scope.c')
-rw-r--r-- | scope.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -1115,6 +1115,8 @@ Perl_leave_scope(pTHX_ I32 base) } PL_tainted = was; + + PERL_ASYNC_CHECK(); } void |