Turn gv_fullname3 and gv_efullname3 into macros that call
Nicholas Clark [Mon, 6 Dec 2004 13:01:36 +0000 (13:01 +0000)]
gv_fullname4 and gv_efullname4 directly, saving overhead.

p4raw-id: //depot/perl@23612

embed.fnc
embed.h
gv.h
proto.h

index 45a61fa..393f941 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -245,7 +245,7 @@ Ap  |GV*    |gv_autoload4   |HV* stash|const char* name|STRLEN len \
                                |I32 method
 Ap     |void   |gv_check       |HV* stash
 Ap     |void   |gv_efullname   |SV* sv|GV* gv
-Ap     |void   |gv_efullname3  |SV* sv|GV* gv|const char* prefix
+Amb    |void   |gv_efullname3  |SV* sv|GV* gv|const char* prefix
 Ap     |void   |gv_efullname4  |SV* sv|GV* gv|const char* prefix|bool keepmain
 Ap     |GV*    |gv_fetchfile   |const char* name
 Apd    |GV*    |gv_fetchmeth   |HV* stash|const char* name|STRLEN len \
@@ -257,7 +257,7 @@ Apd |GV*    |gv_fetchmethod_autoload|HV* stash|const char* name \
                                |I32 autoload
 Ap     |GV*    |gv_fetchpv     |const char* name|I32 add|I32 sv_type
 Ap     |void   |gv_fullname    |SV* sv|GV* gv
-Ap     |void   |gv_fullname3   |SV* sv|GV* gv|const char* prefix
+Amb    |void   |gv_fullname3   |SV* sv|GV* gv|const char* prefix
 Ap     |void   |gv_fullname4   |SV* sv|GV* gv|const char* prefix|bool keepmain
 Ap     |void   |gv_init        |GV* gv|HV* stash|const char* name \
                                |STRLEN len|int multi
diff --git a/embed.h b/embed.h
index 0587801..fb0e4f0 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define gv_autoload4           Perl_gv_autoload4
 #define gv_check               Perl_gv_check
 #define gv_efullname           Perl_gv_efullname
-#define gv_efullname3          Perl_gv_efullname3
 #define gv_efullname4          Perl_gv_efullname4
 #define gv_fetchfile           Perl_gv_fetchfile
 #define gv_fetchmeth           Perl_gv_fetchmeth
 #define gv_fetchmethod_autoload        Perl_gv_fetchmethod_autoload
 #define gv_fetchpv             Perl_gv_fetchpv
 #define gv_fullname            Perl_gv_fullname
-#define gv_fullname3           Perl_gv_fullname3
 #define gv_fullname4           Perl_gv_fullname4
 #define gv_init                        Perl_gv_init
 #define gv_stashpv             Perl_gv_stashpv
 #define gv_autoload4(a,b,c,d)  Perl_gv_autoload4(aTHX_ a,b,c,d)
 #define gv_check(a)            Perl_gv_check(aTHX_ a)
 #define gv_efullname(a,b)      Perl_gv_efullname(aTHX_ a,b)
-#define gv_efullname3(a,b,c)   Perl_gv_efullname3(aTHX_ a,b,c)
 #define gv_efullname4(a,b,c,d) Perl_gv_efullname4(aTHX_ a,b,c,d)
 #define gv_fetchfile(a)                Perl_gv_fetchfile(aTHX_ a)
 #define gv_fetchmeth(a,b,c,d)  Perl_gv_fetchmeth(aTHX_ a,b,c,d)
 #define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
 #define gv_fetchpv(a,b,c)      Perl_gv_fetchpv(aTHX_ a,b,c)
 #define gv_fullname(a,b)       Perl_gv_fullname(aTHX_ a,b)
-#define gv_fullname3(a,b,c)    Perl_gv_fullname3(aTHX_ a,b,c)
 #define gv_fullname4(a,b,c,d)  Perl_gv_fullname4(aTHX_ a,b,c,d)
 #define gv_init(a,b,c,d,e)     Perl_gv_init(aTHX_ a,b,c,d,e)
 #define gv_stashpv(a,b)                Perl_gv_stashpv(aTHX_ a,b)
diff --git a/gv.h b/gv.h
index 56cf72d..dfc74ca 100644 (file)
--- a/gv.h
+++ b/gv.h
@@ -153,3 +153,6 @@ Return the SV from the GV.
 #define GV_ADDWARN     0x04    /* add, but warn if symbol wasn't already there */
 #define GV_ADDINEVAL   0x08    /* add, as though we're doing so within an eval */
 #define GV_NOINIT      0x10    /* add, but don't init symbol, if type != PVGV */
+
+#define gv_fullname3(sv,gv,prefix) gv_fullname4(sv,gv,prefix,TRUE);
+#define gv_efullname3(sv,gv,prefix) gv_efullname4(sv,gv,prefix,TRUE);
diff --git a/proto.h b/proto.h
index 3a9374f..066774c 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -228,7 +228,7 @@ PERL_CALLCONV GV*   Perl_gv_IOadd(pTHX_ GV* gv);
 PERL_CALLCONV GV*      Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method);
 PERL_CALLCONV void     Perl_gv_check(pTHX_ HV* stash);
 PERL_CALLCONV void     Perl_gv_efullname(pTHX_ SV* sv, GV* gv);
-PERL_CALLCONV void     Perl_gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
+/* PERL_CALLCONV void  gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix); */
 PERL_CALLCONV void     Perl_gv_efullname4(pTHX_ SV* sv, GV* gv, const char* prefix, bool keepmain);
 PERL_CALLCONV GV*      Perl_gv_fetchfile(pTHX_ const char* name);
 PERL_CALLCONV GV*      Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level);
@@ -237,7 +237,7 @@ PERL_CALLCONV GV*   Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name);
 PERL_CALLCONV GV*      Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload);
 PERL_CALLCONV GV*      Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type);
 PERL_CALLCONV void     Perl_gv_fullname(pTHX_ SV* sv, GV* gv);
-PERL_CALLCONV void     Perl_gv_fullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
+/* PERL_CALLCONV void  gv_fullname3(pTHX_ SV* sv, GV* gv, const char* prefix); */
 PERL_CALLCONV void     Perl_gv_fullname4(pTHX_ SV* sv, GV* gv, const char* prefix, bool keepmain);
 PERL_CALLCONV void     Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi);
 PERL_CALLCONV HV*      Perl_gv_stashpv(pTHX_ const char* name, I32 create);