diff options
author | David Mitchell <davem@iabyn.com> | 2014-09-19 18:14:01 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2014-09-19 18:14:01 +0100 |
commit | 16a6edfa0e11bf585bf5bf62d8299a7a34d45319 (patch) | |
tree | cd85ab637fda52ac0997eb174780ef138fd8b54c /regen/opcode.pl | |
parent | b4941db24e5b5bf41a100f8944f5845de2bdf8ab (diff) | |
download | perl-16a6edfa0e11bf585bf5bf62d8299a7a34d45319.tar.gz |
move OPpTARGET_MY comments from opcode.pl
There is a section in regen/opcode.pl explaining when its okay to
use the T flag / OPpTARGET_MY define.
Move that text to regen/op_private, at the spot where it defines
OPpTARGET_MY. It's more likely to be seen there.
Diffstat (limited to 'regen/opcode.pl')
-rwxr-xr-x | regen/opcode.pl | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/regen/opcode.pl b/regen/opcode.pl index 38c235fbd1..93fdc06fd7 100755 --- a/regen/opcode.pl +++ b/regen/opcode.pl @@ -1213,58 +1213,3 @@ foreach ($oc, $on, $pp, $oprivpm) { read_only_bottom_close_and_rename($_); } -# Some comments about 'T' opcode classifier: - -# Safe to set if the ppcode uses: -# tryAMAGICbin, tryAMAGICun, SETn, SETi, SETu, PUSHn, PUSHTARG, SETTARG, -# SETs(TARG), XPUSHn, XPUSHu, - -# Unsafe to set if the ppcode uses dTARG or [X]RETPUSH[YES|NO|UNDEF] - -# lt and friends do SETs (including ncmp, but not scmp) - -# Additional mode of failure: the opcode can modify TARG before it "used" -# all the arguments (or may call an external function which does the same). -# If the target coincides with one of the arguments ==> kaboom. - -# pp.c pos substr each not OK (RETPUSHUNDEF) -# substr vec also not OK due to LV to target (are they???) -# 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 list context -# pack split - unknown whether they are safe -# sprintf: is calling do_sprintf(TARG,...) which can act on TARG -# before other args are processed. - -# Suspicious wrt "additional mode of failure" (and only it): -# schop, chop, postinc/dec, bit_and etc, negate, complement. - -# Also suspicious: 4-arg substr, sprintf, uc/lc (POK_only), reverse, pack. - -# substr/vec: doing TAINT_off()??? - -# pp_hot.c -# 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). - -# pp_ctl.c -# mapwhile flip caller not OK (not always setting) - -# pp_sys.c -# backtick glob warn die not OK (not always setting) -# warn not OK (RETPUSHYES) -# open fileno getc sysread syswrite ioctl accept shutdown -# ftsize(etc) readlink telldir fork alarm getlogin not OK (RETPUSHUNDEF) -# umask select not OK (XPUSHs(&PL_sv_undef);) -# fileno getc sysread syswrite tell not OK (meth("FILENO" "GETC")) -# sselect shm* sem* msg* syscall - unknown whether they are safe -# gmtime not OK (list context) - -# Suspicious wrt "additional mode of failure": warn, die, select. |