Change 34410 by [EMAIL PROTECTED] on 2008/09/23 19:31:18
Integrate:
[ 34349]
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.
[ 34350]
Use 1 line of code in place of 6 in Perl_sv_derived_from().
Affected files ...
... //depot/maint-5.10/perl/embed.fnc#11 integrate
... //depot/maint-5.10/perl/embed.h#7 integrate
... //depot/maint-5.10/perl/proto.h#9 integrate
... //depot/maint-5.10/perl/universal.c#4 integrate
Differences ...
==== //depot/maint-5.10/perl/embed.fnc#11 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#10~33942~ 2008-05-27 18:21:26.000000000 -0700
+++ perl/embed.fnc 2008-09-23 12:31:18.000000000 -0700
@@ -1589,7 +1589,7 @@
#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)
==== //depot/maint-5.10/perl/embed.h#7 (text+w) ====
Index: perl/embed.h
--- perl/embed.h#6~33942~ 2008-05-27 18:21:26.000000000 -0700
+++ perl/embed.h 2008-09-23 12:31:18.000000000 -0700
@@ -3884,7 +3884,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)
==== //depot/maint-5.10/perl/proto.h#9 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#8~33942~ 2008-05-27 18:21:26.000000000 -0700
+++ perl/proto.h 2008-09-23 12:31:18.000000000 -0700
@@ -4186,7 +4186,7 @@
#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);
#endif
==== //depot/maint-5.10/perl/universal.c#4 (text) ====
Index: perl/universal.c
--- perl/universal.c#3~33139~ 2008-01-30 15:19:42.000000000 -0800
+++ perl/universal.c 2008-09-23 12:31:18.000000000 -0700
@@ -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);
/* A stash/class can go by many names (ie. User == main::User), so
we compare the stash itself just in case */
@@ -110,13 +111,7 @@
stash = gv_stashsv(sv, 0);
}
- if (stash) {
- HV * const name_stash = gv_stashpv(name, 0);
- return isa_lookup(stash, name, name_stash);
- }
- else
- return FALSE;
-
+ return stash ? isa_lookup(stash, name) : FALSE;
}
/*
End of Patch.