From: Nicholas Clark Date: Fri, 26 Dec 2008 21:31:47 +0000 (+0000) Subject: Explictly export Perl_mro_meta_init() so that HvMROMETA() can become part of the X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c60bad7b8870cf2745c93e1b99cbb504daa780b2;p=p5sagit%2Fp5-mst-13.2.git Explictly export Perl_mro_meta_init() so that HvMROMETA() can become part of the public API and be used outside the core. However, leave Perl_mro_meta_init() as a private implementation detail. --- diff --git a/embed.fnc b/embed.fnc index 87f5fd2..7c81888 100644 --- a/embed.fnc +++ b/embed.fnc @@ -2191,8 +2191,8 @@ Aop |SV* |mro_set_private_data|NN struct mro_meta *const smeta \ |NN SV *const data Aop |const struct mro_alg *|mro_get_from_name|NN SV *name Aop |void |mro_register |NN const struct mro_alg *mro -: Used in HvMROMETA() in gv.c, pp_hot.c, universal.c -p |struct mro_meta* |mro_meta_init |NN HV* stash +: Used in HvMROMETA(), which is public. +Xpo |struct mro_meta* |mro_meta_init |NN HV* stash #if defined(USE_ITHREADS) : Only used in sv.c p |struct mro_meta* |mro_meta_dup |NN struct mro_meta* smeta|NN CLONE_PARAMS* param diff --git a/embed.h b/embed.h index a136947..b7fd171 100644 --- a/embed.h +++ b/embed.h @@ -1956,9 +1956,6 @@ #endif #if !defined(HAS_SIGNBIT) #endif -#ifdef PERL_CORE -#define mro_meta_init Perl_mro_meta_init -#endif #if defined(USE_ITHREADS) #ifdef PERL_CORE #define mro_meta_dup Perl_mro_meta_dup @@ -4324,7 +4321,6 @@ #if defined(PERL_CORE) || defined(PERL_EXT) #endif #ifdef PERL_CORE -#define mro_meta_init(a) Perl_mro_meta_init(aTHX_ a) #endif #if defined(USE_ITHREADS) #ifdef PERL_CORE diff --git a/global.sym b/global.sym index 3ac872d..2745823 100644 --- a/global.sym +++ b/global.sym @@ -773,6 +773,7 @@ Perl_mro_get_private_data Perl_mro_set_private_data Perl_mro_get_from_name Perl_mro_register +Perl_mro_meta_init Perl_mro_get_linear_isa Perl_mro_method_changed_in Perl_sys_init diff --git a/hv.h b/hv.h index 1481d5b..e120dd4 100644 --- a/hv.h +++ b/hv.h @@ -261,7 +261,7 @@ C. caller's responsibility */ #define HvMROMETA(hv) (HvAUX(hv)->xhv_mro_meta \ ? HvAUX(hv)->xhv_mro_meta \ - : mro_meta_init(hv)) + : Perl_mro_meta_init(aTHX_ hv)) /* FIXME - all of these should use a UTF8 aware API, which should also involve getting the length. */