A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Perl/perl5/commit/2e4090b82403991910f1fe64866048b62ccf5402 below:

only fully calculate the stash (effective) name where needed · Perl/perl5@2e4090b · GitHub

@@ -3728,7 +3728,7 @@ S_glob_assign_glob(pTHX_ SV *const dsv, SV *const ssv, const int dtype)

3728 3728

/* If source has a real method, then a method is

3729 3729

going to change */

3730 3730

else if(

3731 -

GvCV((const GV *)ssv) && GvSTASH(dsv) && HvENAME(GvSTASH(dsv))

3731 +

GvCV((const GV *)ssv) && GvSTASH(dsv) && HvHasENAME(GvSTASH(dsv))

3732 3732

) {

3733 3733

mro_changes = 1;

3734 3734

}

@@ -3737,7 +3737,7 @@ S_glob_assign_glob(pTHX_ SV *const dsv, SV *const ssv, const int dtype)

3737 3737

/* If dest already had a real method, that's a change as well */

3738 3738

if(

3739 3739

!mro_changes && GvGP(MUTABLE_GV(dsv)) && GvCVu((const GV *)dsv)

3740 -

&& GvSTASH(dsv) && HvENAME(GvSTASH(dsv))

3740 +

&& GvSTASH(dsv) && HvHasENAME(GvSTASH(dsv))

3741 3741

) {

3742 3742

mro_changes = 1;

3743 3743

}

@@ -3750,7 +3750,7 @@ S_glob_assign_glob(pTHX_ SV *const dsv, SV *const ssv, const int dtype)

3750 3750

if(memEQs(name, len, "ISA")

3751 3751

/* The stash may have been detached from the symbol table, so

3752 3752

check its name. */

3753 -

&& GvSTASH(dsv) && HvENAME(GvSTASH(dsv))

3753 +

&& GvSTASH(dsv) && HvHasENAME(GvSTASH(dsv))

3754 3754

)

3755 3755

mro_changes = 2;

3756 3756

else {

@@ -3808,7 +3808,7 @@ S_glob_assign_glob(pTHX_ SV *const dsv, SV *const ssv, const int dtype)

3808 3808

}

3809 3809

else if(mro_changes == 3) {

3810 3810

HV * const stash = GvHV(dsv);

3811 -

if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)

3811 +

if(old_stash ? HvHasENAME(old_stash) : cBOOL(stash))

3812 3812

mro_package_moved(

3813 3813

stash, old_stash,

3814 3814

(GV *)dsv, 0

@@ -3958,7 +3958,7 @@ Perl_gv_setref(pTHX_ SV *const dsv, SV *const ssv)

3958 3958

(len > 1 && name[len-2] == ':' && name[len-1] == ':')

3959 3959

|| (len == 1 && name[0] == ':')

3960 3960

)

3961 -

&& (!dref || HvENAME_get(dref))

3961 +

&& (!dref || HvHasENAME(dref))

3962 3962

) {

3963 3963

mro_package_moved(

3964 3964

(HV *)sref, (HV *)dref,

@@ -3971,7 +3971,7 @@ Perl_gv_setref(pTHX_ SV *const dsv, SV *const ssv)

3971 3971

&& memEQs(GvNAME((GV*)dsv), GvNAMELEN((GV*)dsv), "ISA")

3972 3972

/* The stash may have been detached from the symbol table, so

3973 3973

check its name before doing anything. */

3974 -

&& GvSTASH(dsv) && HvENAME(GvSTASH(dsv))

3974 +

&& GvSTASH(dsv) && HvHasENAME(GvSTASH(dsv))

3975 3975

) {

3976 3976

MAGIC *mg;

3977 3977

MAGIC * const omg = dref && SvSMAGICAL(dref)

@@ -4432,7 +4432,7 @@ Perl_sv_setsv_flags(pTHX_ SV *dsv, SV* ssv, const I32 flags)

4432 4432

if (reset_isa) {

4433 4433

HV * const stash = GvHV(dsv);

4434 4434

if(

4435 -

old_stash ? (HV *)HvENAME_get(old_stash) : stash

4435 +

old_stash ? HvHasENAME(old_stash) : cBOOL(stash)

4436 4436

)

4437 4437

mro_package_moved(

4438 4438

stash, old_stash,

@@ -6558,7 +6558,7 @@ S_anonymise_cv_maybe(pTHX_ GV *gv, CV* cv)

6558 6558

}

6559 6559 6560 6560

/* if not, anonymise: */

6561 -

gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))

6561 +

gvname = (GvSTASH(gv) && HvHasNAME(GvSTASH(gv)) && HvHasENAME(GvSTASH(gv)))

6562 6562

? newSVhek(HvENAME_HEK(GvSTASH(gv)))

6563 6563

: newSVpvn_flags( "__ANON__", 8, 0 );

6564 6564

sv_catpvs(gvname, "::__ANON__");

@@ -6793,7 +6793,7 @@ Perl_sv_clear(pTHX_ SV *const orig_sv)

6793 6793

case SVt_PVGV:

6794 6794

if (isGV_with_GP(sv)) {

6795 6795

if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))

6796 -

&& HvENAME_get(stash))

6796 +

&& HvHasENAME(stash))

6797 6797

mro_method_changed_in(stash);

6798 6798

gp_free(MUTABLE_GV(sv));

6799 6799

if (GvNAME_HEK(sv))

@@ -10082,7 +10082,7 @@ Perl_sv_resetpvn(pTHX_ const char *s, STRLEN len, HV * const stash)

10082 10082

if (GvAV(gv)) {

10083 10083

av_clear(GvAV(gv));

10084 10084

}

10085 -

if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {

10085 +

if (GvHV(gv) && !HvHasNAME(GvHV(gv))) {

10086 10086

hv_clear(GvHV(gv));

10087 10087

}

10088 10088

}

@@ -10458,9 +10458,10 @@ Perl_sv_ref(pTHX_ SV *dst, const SV *const sv, const int ob)

10458 10458

dst = sv_newmortal();

10459 10459 10460 10460

if (ob && SvOBJECT(sv)) {

10461 -

HvNAME_get(SvSTASH(sv))

10462 -

? sv_sethek(dst, HvNAME_HEK(SvSTASH(sv)))

10463 -

: sv_setpvs(dst, "__ANON__");

10461 +

if (HvHasNAME(SvSTASH(sv)))

10462 +

sv_sethek(dst, HvNAME_HEK(SvSTASH(sv)));

10463 +

else

10464 +

sv_setpvs(dst, "__ANON__");

10464 10465

}

10465 10466

else {

10466 10467

const char * reftype = sv_reftype(sv, 0);

@@ -10774,7 +10775,7 @@ S_sv_unglob(pTHX_ SV *const sv, U32 flags)

10774 10775

SvREFCNT_inc_simple_void_NN(sv_2mortal(sv));

10775 10776

if (GvGP(sv)) {

10776 10777

if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))

10777 -

&& HvNAME_get(stash))

10778 +

&& HvHasNAME(stash))

10778 10779

mro_method_changed_in(stash);

10779 10780

gp_free(MUTABLE_GV(sv));

10780 10781

}


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4