This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge B::GV::{file,name} using ALIAS.
authorNicholas Clark <nick@ccl4.org>
Sat, 30 Oct 2010 10:10:18 +0000 (11:10 +0100)
committerNicholas Clark <nick@ccl4.org>
Sat, 30 Oct 2010 10:10:18 +0000 (11:10 +0100)
This saves about 700 bytes of object code on this platform.

ext/B/B.xs

index dc63ece..3b8aabd 100644 (file)
@@ -1656,11 +1656,14 @@ MODULE = B      PACKAGE = B::GV         PREFIX = Gv
 void
 GvNAME(gv)
        B::GV   gv
+    ALIAS:
+       FILE = 1
     CODE:
 #if PERL_VERSION >= 10
-       ST(0) = sv_2mortal(newSVhek(GvNAME_HEK(gv)));
+       ST(0) = sv_2mortal(newSVhek(ix ? GvFILE_HEK(gv) : GvNAME_HEK(gv)));
 #else
-       ST(0) = newSVpvn_flags(GvNAME(gv), GvNAMELEN(gv), SVs_TEMP);
+       ST(0) = ix ? sv_2mortal(newSVpv(GvFILE(gv), 0))
+           : newSVpvn_flags(GvNAME(gv), GvNAMELEN(gv), SVs_TEMP);
 #endif
 
 bool
@@ -1739,10 +1742,6 @@ SV(gv)
        ST(0) = ret;
        XSRETURN(1);
 
-char *
-GvFILE(gv)
-       B::GV   gv
-
 B::GV
 GvFILEGV(gv)
        B::GV   gv