summaryrefslogtreecommitdiff
path: root/embed.h
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2014-12-31 23:09:28 -0500
committerFather Chrysostomos <sprout@cpan.org>2015-01-11 21:31:17 -0800
commited9feedd0527ff7353894db934c3ef325519b6df (patch)
tree48f3948e95145175b33639262a880f5d02fb0eb2 /embed.h
parente0c6a6b8c9a5470601df2e25f77f2422fb3f2ea5 (diff)
downloadperl-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.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/embed.h b/embed.h
index c484be0fe4..70cab3ebd3 100644
--- a/embed.h
+++ b/embed.h
@@ -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)