This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
remove a branch in SvIV_please_nomg
authorDaniel Dragan <bulk88@hotmail.com>
Wed, 19 Nov 2014 04:08:25 +0000 (23:08 -0500)
committerTony Cook <tony@develop-help.com>
Mon, 24 Nov 2014 03:44:50 +0000 (14:44 +1100)
commit3ea8bc937be5cc09bfcc0beabb3ac6c672b01b67
tree1f743576c2071a8d45d0f14a46c1f3239c53a563
parent7de6b801c52c9b1c2aec6a4956ee9979d81d5b4b
remove a branch in SvIV_please_nomg

On VC 2003 and GCC 4.6.3, this patch decreases from 3 branches to
2 branches that machine code that makes up SvIV_please_nomg. Functionality
should be identical as before. This is intended to make math functions like
pp_add faster. Due to complexity/my time, SvIV_please wasn't optimized.
"(SvNOK(sv) || SvPOK(sv)" was optimized to
"(SvFLAGS(sv) & (SVf_NOK|SVf_POK))" on GCC and VC 2003 before this patch,
so that change reenforces what the optimizer already did before.

.text section of miniperl.exe size in bytes
gcc 32b 4.6.3 -O2 before 0x10d154
gcc 32b 4.6.3 -O2 after  0x10d064
vc2003            before 0xa4odf
vc2003            after  0xa406f
sv.h