summaryrefslogtreecommitdiff
path: root/embed.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-11-24 01:09:14 -0800
committerFather Chrysostomos <sprout@cpan.org>2011-11-24 01:45:32 -0800
commit804b5ed7b6140d5110359c81438a8dea7f5b0e04 (patch)
treec0fec147f59026fa9ee470d8e6e9e50a3303c436 /embed.h
parent5668452f0dfcb2591dfb8da07389b99e8823a280 (diff)
downloadperl-804b5ed7b6140d5110359c81438a8dea7f5b0e04.tar.gz
Make assignment over glob copies much faster
sv_force_normal is passed the SV_COW_DROP_PV flag if the scalar is about to be written over. That flag is not currently used. We can speed up assignment over fake GVs a lot by taking advantage of the flag. Before and after: $ time ./perl -e '$x = *foo, undef $x for 1..2000000' real 0m4.264s user 0m4.248s sys 0m0.007s $ time ./perl -e '$x = *foo, undef $x for 1..2000000' real 0m1.820s user 0m1.812s sys 0m0.005s
Diffstat (limited to 'embed.h')
-rw-r--r--embed.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/embed.h b/embed.h
index 42f4da4f12..b741b1c419 100644
--- a/embed.h
+++ b/embed.h
@@ -1511,7 +1511,7 @@
#define sv_pos_u2b_cached(a,b,c,d,e,f,g) S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g)
#define sv_pos_u2b_forwards S_sv_pos_u2b_forwards
#define sv_pos_u2b_midway S_sv_pos_u2b_midway
-#define sv_unglob(a) S_sv_unglob(aTHX_ a)
+#define sv_unglob(a,b) S_sv_unglob(aTHX_ a,b)
#define uiv_2buf S_uiv_2buf
#define utf8_mg_len_cache_update(a,b,c) S_utf8_mg_len_cache_update(aTHX_ a,b,c)
#define utf8_mg_pos_cache_update(a,b,c,d,e) S_utf8_mg_pos_cache_update(aTHX_ a,b,c,d,e)