From a00c27eb94c700013d6eb0c27b8faae8b9bc506b Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Sun, 14 Nov 2010 11:24:34 -0800 Subject: [PATCH] S_glob_assign_ref: Move the sref != dref earlier The sref != dref check is faster than the GvNAME and HvENAME checks, so put it before them. This will speed up use vars '@ISA' slightly. --- sv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sv.c b/sv.c index 037c0dc..04e1df1 100644 --- a/sv.c +++ b/sv.c @@ -3806,11 +3806,11 @@ S_glob_assign_ref(pTHX_ SV *const dstr, SV *const sstr) } } else if ( - stype == SVt_PVAV && strEQ(GvNAME((GV*)dstr), "ISA") + stype == SVt_PVAV && sref != dref + && strEQ(GvNAME((GV*)dstr), "ISA") /* The stash may have been detached from the symbol table, so check its name before doing anything. */ && GvSTASH(dstr) && HvENAME(GvSTASH(dstr)) - && sref != dref ) { MAGIC *mg; MAGIC * const omg = dref && SvSMAGICAL(dref) -- 1.8.3.1