summaryrefslogtreecommitdiff
path: root/doio.c
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2014-11-08 00:48:58 -0500
committerFather Chrysostomos <sprout@cpan.org>2014-11-07 22:53:52 -0800
commit5513c2cfd695ea6a900a29be8b479bea61614429 (patch)
treea0467ca94fc580eb0436ca771d9bef8dccca3116 /doio.c
parentdb6e00bd00dae7b918216c69bd58fe860e640276 (diff)
downloadperl-5513c2cfd695ea6a900a29be8b479bea61614429.tar.gz
optimize Perl_boot_core_UNIVERSAL and Perl_nextargv
Perl_nextargv fuse 2 tests into 1 Perl_boot_core_UNIVERSAL reorder instructions to avoid using a non-vol registers (save cv across the Safefree), not reread CV body * after Safefree. Compute address of CvFILE once. for Perl_boot_core_UNIVERSAL on VC 2003 before 0x66 bytes of 32 bit x86 machine code, after 0x61.
Diffstat (limited to 'doio.c')
-rw-r--r--doio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/doio.c b/doio.c
index 60876127b5..b84a14a096 100644
--- a/doio.c
+++ b/doio.c
@@ -806,7 +806,7 @@ Perl_nextargv(pTHX_ GV *gv, bool nomagicopen)
if (!PL_argvoutgv)
PL_argvoutgv = gv_fetchpvs("ARGVOUT", GV_ADD|GV_NOTQUAL, SVt_PVIO);
- if (io && (IoFLAGS(io) & IOf_ARGV) && (IoFLAGS(io) & IOf_START)) {
+ if (io && (IoFLAGS(io) & (IOf_ARGV|IOf_START)) == (IOf_ARGV|IOf_START)) {
IoFLAGS(io) &= ~IOf_START;
if (PL_inplace) {
assert(PL_defoutgv);