diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2014-12-31 23:09:28 -0500 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2015-01-11 21:31:17 -0800 |
commit | ed9feedd0527ff7353894db934c3ef325519b6df (patch) | |
tree | 48f3948e95145175b33639262a880f5d02fb0eb2 /embed.h | |
parent | e0c6a6b8c9a5470601df2e25f77f2422fb3f2ea5 (diff) | |
download | perl-ed9feedd0527ff7353894db934c3ef325519b6df.tar.gz |
refactor op.c S_bad_type_*v
-flags arg of both funcs is unused in all callers. Move the 0 to the funcs.
flags arg is from commit ce16c625ec in 2012
-all bad_type_gv calls are right before the end of the switch, the pushing
of 1st 3 args and call asm ops can be merged together, leaving the 1
string constant push as the only unique op between the 7 src code
callers of bad_type_gv, this requires reordering the args so the only
unique one is the last/right most one, reordering can't be done to
bad_type_pv because each following execution point after each bad_type_pv
is different, bad_type_pv's caller/s are not a switch statement
- commit 53e06cf030 probably overlooked the 2 PL_op_desc[type] places,
OP_DESC is a fancier superset of PL_op_desc[type], since calling
bad_type_pv only happens during a PP syntax error, that is not
performance critical, so replace PL_op_desc[type] with OP_DESC and
factor out OP to description string lookup, plus custom ops are very rare
so this shouldn't impact the error message seen by the user
VC2003 .text section of perl521.dll before 0xc9543 after 0xC9523
Diffstat (limited to 'embed.h')
-rw-r--r-- | embed.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1518,8 +1518,8 @@ #define apply_attrs(a,b,c) S_apply_attrs(aTHX_ a,b,c) #define apply_attrs_my(a,b,c,d) S_apply_attrs_my(aTHX_ a,b,c,d) #define assignment_type(a) S_assignment_type(aTHX_ a) -#define bad_type_gv(a,b,c,d,e) S_bad_type_gv(aTHX_ a,b,c,d,e) -#define bad_type_pv(a,b,c,d,e) S_bad_type_pv(aTHX_ a,b,c,d,e) +#define bad_type_gv(a,b,c,d) S_bad_type_gv(aTHX_ a,b,c,d) +#define bad_type_pv(a,b,c,d) S_bad_type_pv(aTHX_ a,b,c,d) #define clear_special_blocks(a,b,c) S_clear_special_blocks(aTHX_ a,b,c) #define cop_free(a) S_cop_free(aTHX_ a) #define dup_attrlist(a) S_dup_attrlist(aTHX_ a) |