From: Nicholas Clark Date: Thu, 11 Sep 2008 21:12:51 +0000 (+0000) Subject: S_isa_lookup() no longer recurses (as of Brandon's MRO changes), so we X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=515a4f721c0a11d47b9b2ea994989f977659c68b;p=p5sagit%2Fp5-mst-13.2.git S_isa_lookup() no longer recurses (as of Brandon's MRO changes), so we don't need to pass in name_stash as a parameter. p4raw-id: //depot/perl@34349 --- diff --git a/embed.fnc b/embed.fnc index f08dfef..368857c 100644 --- a/embed.fnc +++ b/embed.fnc @@ -1660,7 +1660,7 @@ s |void |printbuf |NN const char *const fmt|NN const char *const s #endif #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) -s |bool|isa_lookup |NULLOK HV *stash|NN const char * const name|NULLOK const HV * const name_stash +s |bool|isa_lookup |NULLOK HV *stash|NN const char * const name #endif #if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT) diff --git a/embed.h b/embed.h index 9caec1d..01f750c 100644 --- a/embed.h +++ b/embed.h @@ -3897,7 +3897,7 @@ #endif #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) #ifdef PERL_CORE -#define isa_lookup(a,b,c) S_isa_lookup(aTHX_ a,b,c) +#define isa_lookup(a,b) S_isa_lookup(aTHX_ a,b) #endif #endif #if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT) diff --git a/proto.h b/proto.h index da79be1..cd295a0 100644 --- a/proto.h +++ b/proto.h @@ -5851,7 +5851,7 @@ STATIC void S_printbuf(pTHX_ const char *const fmt, const char *const s) #endif #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT) -STATIC bool S_isa_lookup(pTHX_ HV *stash, const char * const name, const HV * const name_stash) +STATIC bool S_isa_lookup(pTHX_ HV *stash, const char * const name) __attribute__nonnull__(pTHX_2); #define PERL_ARGS_ASSERT_ISA_LOOKUP \ assert(name) diff --git a/universal.c b/universal.c index 19fb608..c6de960 100644 --- a/universal.c +++ b/universal.c @@ -37,13 +37,14 @@ */ STATIC bool -S_isa_lookup(pTHX_ HV *stash, const char * const name, const HV* const name_stash) +S_isa_lookup(pTHX_ HV *stash, const char * const name) { dVAR; AV* stash_linear_isa; SV** svp; const char *hvname; I32 items; + const HV *const name_stash = gv_stashpv(name, 0); PERL_ARGS_ASSERT_ISA_LOOKUP; @@ -116,8 +117,7 @@ Perl_sv_derived_from(pTHX_ SV *sv, const char *const name) } if (stash) { - HV * const name_stash = gv_stashpv(name, 0); - return isa_lookup(stash, name, name_stash); + return isa_lookup(stash, name); } else return FALSE;