summaryrefslogtreecommitdiff
path: root/universal.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2013-08-10 16:28:40 -0700
committerFather Chrysostomos <sprout@cpan.org>2013-08-11 07:41:25 -0700
commit56e04a766185949119c93e963353f9a8712b8ec1 (patch)
treebe9f3be0c5e777ed58ddbbd3633e8730d812a201 /universal.c
parent53f2736e93810ee2954fb2a08b4d43366caae935 (diff)
downloadperl-56e04a766185949119c93e963353f9a8712b8ec1.tar.gz
op.c:ck_svconst: Don’t allow ro COWs under old COW
Under PERL_OLD_COPY_ON_WRITE, allowing COWs to become read-only will complicate things elsewhere. It uses the IV slot of an SV to point to a loop of SVs sharing the same buffer. sv_2iv cannot cache the IV without running the SV through sv_force_normal, but that will croak on read-only values. I could change it to S_sv_uncow, but there are more cases elsewhere that would have to be audited, I don’t think it’s worth spending time on improving PERL_OLD_COPY_ON_WRITE as it’s ‘dead code, never intended to go live’ according to its author. I am bothering with at least this much because I don’t want to break it knowingly.
Diffstat (limited to 'universal.c')
0 files changed, 0 insertions, 0 deletions