gv:gv_add_by_type: Don’t check @ISA when not vivifying
authorFather Chrysostomos <sprout@cpan.org>
Sat, 26 Oct 2013 12:40:10 +0000 (05:40 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sat, 26 Oct 2013 12:40:10 +0000 (05:40 -0700)
I added the code (in 986d39eeb4) to magicalise @ISA when vivifying it
via @{*ISA}.  But we don’t need to do that every time gv_add_by_type
is called, just when it is autovivifying.

gv.c

diff --git a/gv.c b/gv.c
index 9f0b57e..476afc5 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -82,10 +82,12 @@ Perl_gv_add_by_type(pTHX_ GV *gv, svtype type)
     }
 
     if (!*where)
+    {
        *where = newSV_type(type);
-    if (type == SVt_PVAV && GvNAMELEN(gv) == 3
-     && strnEQ(GvNAME(gv), "ISA", 3))
-       sv_magic(*where, (SV *)gv, PERL_MAGIC_isa, NULL, 0);
+           if (type == SVt_PVAV && GvNAMELEN(gv) == 3
+            && strnEQ(GvNAME(gv), "ISA", 3))
+           sv_magic(*where, (SV *)gv, PERL_MAGIC_isa, NULL, 0);
+    }
     return gv;
 }