summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2003-02-09 23:00:09 +0000
committerhv <hv@crypt.org>2003-02-16 13:10:32 +0000
commited25273444c5542e4865fbe422e026b78ba33b80 (patch)
tree50ed9058a0a221c3334b958f8a0d3b50ed089213 /sv.h
parent8c4d3c904bc47216a128a948cce979bf46eb0682 (diff)
downloadperl-ed25273444c5542e4865fbe422e026b78ba33b80.tar.gz
COW regexps:
Subject: [PATCH] Copy on write for $& and $1... Message-ID: <20030209230008.GF299@Bagpuss.unfortu.net> p4raw-id: //depot/perl@18726
Diffstat (limited to 'sv.h')
-rw-r--r--sv.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sv.h b/sv.h
index cf408e88f1..956340ae6f 100644
--- a/sv.h
+++ b/sv.h
@@ -1069,6 +1069,12 @@ otherwise.
# define SvRELEASE_IVX(sv) ((void)((SvFLAGS(sv) & (SVf_OOK|SVf_READONLY|SVf_FAKE)) \
&& Perl_sv_release_IVX(aTHX_ sv)))
# define SvIsCOW_normal(sv) (SvIsCOW(sv) && SvLEN(sv))
+
+#define CAN_COW_MASK (SVs_OBJECT|SVs_GMG|SVs_SMG|SVs_RMG|SVf_IOK|SVf_NOK| \
+ SVf_POK|SVf_ROK|SVp_IOK|SVp_NOK|SVp_POK|SVf_FAKE| \
+ SVf_OOK|SVf_BREAK|SVf_READONLY|SVf_AMAGIC)
+#define CAN_COW_FLAGS (SVp_POK|SVf_POK)
+
#else
# define SvRELEASE_IVX(sv) ((void)SvOOK_off(sv))
#endif /* PERL_COPY_ON_WRITE */