summaryrefslogtreecommitdiff
path: root/pp_sys.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2012-07-27 16:38:01 +0200
committerNicholas Clark <nick@ccl4.org>2012-07-28 09:56:58 +0200
commit6c48f0257061da372cf9560e38107b0c1c42fa63 (patch)
tree3a76f67b2f04e5896f00e015d00f724b3addab2a /pp_sys.c
parent48d023d6dd4655c978fe712c6c3c23f1415bcf04 (diff)
downloadperl-6c48f0257061da372cf9560e38107b0c1c42fa63.tar.gz
Comment the code with how filetest operators interact with the Perl stack.
Diffstat (limited to 'pp_sys.c')
-rw-r--r--pp_sys.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/pp_sys.c b/pp_sys.c
index ee46f47a56..1cb0403f8e 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -2901,6 +2901,13 @@ PP(pp_stat)
RETURN;
}
+/* All filetest ops avoid manipulating the perl stack pointer in their main
+ bodies (since commit d2c4d2d1e22d3125), and return using either
+ S_ft_return_false() or S_ft_return_true(). These two helper functions are
+ the only two which manipulate the perl stack. To ensure that no stack
+ manipulation macros are used, the filetest ops avoid defining a local copy
+ of the stack pointer with dSP. */
+
/* If the next filetest is stacked up with this one
(PL_op->op_private & OPpFT_STACKING), we leave
the original argument on the stack for success,