diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2014-11-08 00:48:58 -0500 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-11-07 22:53:52 -0800 |
commit | 5513c2cfd695ea6a900a29be8b479bea61614429 (patch) | |
tree | a0467ca94fc580eb0436ca771d9bef8dccca3116 /doio.c | |
parent | db6e00bd00dae7b918216c69bd58fe860e640276 (diff) | |
download | perl-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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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); |