summaryrefslogtreecommitdiff
path: root/op.h
diff options
context:
space:
mode:
authorNiels Thykier <niels@thykier.net>2013-07-17 20:59:54 +0200
committerFather Chrysostomos <sprout@cpan.org>2013-07-19 10:11:00 -0700
commit3513c7400a8b4d83055235684e2c6a0c5d89b061 (patch)
tree6bf34df5340e935f51ba6a92b67c90eee37d8c58 /op.h
parent2cc6fe62efccaf47e15982ddbe988a976469d887 (diff)
downloadperl-3513c7400a8b4d83055235684e2c6a0c5d89b061.tar.gz
op.c: Add op_folded to BASEOP
Add a new member, op_folded, to BASEOP. It is replacement for OPpCONST_FOLDED (which can only be set on OP_CONST). At the moment OPpCONST_FOLDED remains, as it is exposed in B (e.g. B::Concise relies on it). Signed-off-by: Niels Thykier <niels@thykier.net>
Diffstat (limited to 'op.h')
-rw-r--r--op.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/op.h b/op.h
index 5d1a771cce..dcfd5be8f2 100644
--- a/op.h
+++ b/op.h
@@ -23,7 +23,8 @@
* op_static tell op_free() to skip PerlMemShared_free(), when
* !op_slabbed.
* op_savefree on savestack via SAVEFREEOP
- * op_spare Three spare bits
+ * op_folded Result/remainder of a constant fold operation.
+ * op_spare Two spare bits
* op_flags Flags common to all operations. See OPf_* below.
* op_private Flags peculiar to a particular operation (BUT,
* by default, set to the number of children until
@@ -56,7 +57,8 @@ typedef PERL_BITFIELD16 Optype;
PERL_BITFIELD16 op_slabbed:1; \
PERL_BITFIELD16 op_savefree:1; \
PERL_BITFIELD16 op_static:1; \
- PERL_BITFIELD16 op_spare:3; \
+ PERL_BITFIELD16 op_folded:1; \
+ PERL_BITFIELD16 op_spare:2; \
U8 op_flags; \
U8 op_private;
#endif
@@ -257,6 +259,7 @@ Deprecated. Use C<GIMME_V> instead.
#define OPpCONST_STRICT 8 /* bareword subject to strict 'subs' */
#define OPpCONST_ENTERED 16 /* Has been entered as symbol. */
#define OPpCONST_BARE 64 /* Was a bare word (filehandle?). */
+/* Replaced by op_folded in perl itself, still used by B/B::Concise etc. */
#define OPpCONST_FOLDED 128 /* Result of constant folding */
/* Private for OP_FLIP/FLOP */