summaryrefslogtreecommitdiff
path: root/opcode.pl
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2000-01-02 21:37:29 +0000
committerGurusamy Sarathy <gsar@cpan.org>2000-01-02 21:37:29 +0000
commit69b47968fa00dfccb6aab68633e778fed2de80ea (patch)
tree172ea60712feb722b7efb33f51e593a9975d3918 /opcode.pl
parent6f7d0078e68bc6a1f2a59d66e229fb67ce3fbb40 (diff)
downloadperl-69b47968fa00dfccb6aab68633e778fed2de80ea.tar.gz
disable optimization in change#3612 for join() and quotemeta()--this
removes all the gross hacks for the special cases in that change; fix pp_concat() for when TARG == arg (modified version of patch suggested by Ilya Zakharevich) p4raw-link: @3612 on //depot/perl: b162f9ead0a98db35cdcfc8c889e344c040c8d8e p4raw-id: //depot/perl@4749
Diffstat (limited to 'opcode.pl')
-rwxr-xr-xopcode.pl6
1 files changed, 4 insertions, 2 deletions
diff --git a/opcode.pl b/opcode.pl
index e6f2292580..0dfb9e742d 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -298,6 +298,7 @@ sub tab {
# ref not OK (RETPUSHNO)
# trans not OK (dTARG; TARG = sv_newmortal();)
# ucfirst etc not OK: TMP arg processed inplace
+# quotemeta not OK (unsafe when TARG == arg)
# each repeat not OK too due to array context
# pack split - unknown whether they are safe
# sprintf: is calling do_sprintf(TARG,...) which can act on TARG
@@ -314,6 +315,7 @@ sub tab {
# readline - unknown whether it is safe
# match subst not OK (dTARG)
# grepwhile not OK (not always setting)
+# join not OK (unsafe when TARG == arg)
# Suspicious wrt "additional mode of failure": concat (dealt with
# in ck_sassign()), join (same).
@@ -506,7 +508,7 @@ ucfirst ucfirst ck_fun_locale fstu% S?
lcfirst lcfirst ck_fun_locale fstu% S?
uc uc ck_fun_locale fstu% S?
lc lc ck_fun_locale fstu% S?
-quotemeta quotemeta ck_fun fsTu% S?
+quotemeta quotemeta ck_fun fstu% S?
# Arrays.
@@ -531,7 +533,7 @@ hslice hash slice ck_null m@ H L
unpack unpack ck_fun @ S S
pack pack ck_fun mst@ S L
split split ck_split t@ S S S
-join join ck_join msT@ S L
+join join ck_join mst@ S L
# List operators.