diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-02-23 11:11:12 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-02-23 11:11:12 +0000 |
commit | 180488f8452e93d2afa0f62b189be1cc9ac6ba1a (patch) | |
tree | 9383eeeaa7cf0787e424f50616bce24f647f5f52 /gv.c | |
parent | 4115f1412e498d2b0cb499d036610a0e9f8e2c4f (diff) | |
download | perl-180488f8452e93d2afa0f62b189be1cc9ac6ba1a.tar.gz |
Remove get magic from typeglobs. This means that PVGVs holding
typeglobs never need to use SvPVX. This comes at price - typeglobs
were using magic get for their stringificiation, and to pass SvOK(),
so need to make typeglobs SvOK by default (by sucking SVp_SCREAM into
SVf_OK - it's the only flag left), tweak SvSCREAM() to also check
SVp_POK, and teach sv_2[inpu]v how to convert globs.
However, it should free up SvPVX for the next part of the plan to
pointer indirections, and therefore CPU cache pressure.
p4raw-id: //depot/perl@27278
Diffstat (limited to 'gv.c')
-rw-r--r-- | gv.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -205,6 +205,7 @@ Perl_gv_init(pTHX_ GV *gv, HV *stash, const char *name, STRLEN len, int multi) GvCVGEN(gv) = 0; GvEGV(gv) = gv; sv_magic((SV*)gv, (SV*)gv, PERL_MAGIC_glob, NULL, 0); + SvSCREAM_on(gv); GvSTASH(gv) = stash; if (stash) Perl_sv_add_backref(aTHX_ (SV*)stash, (SV*)gv); |