Compare HE *s in S_unshare_hek_or_pvn's tight hek loop, rather than
Nicholas Clark [Sun, 12 Jun 2005 21:58:23 +0000 (21:58 +0000)]
HEKs

p4raw-id: //depot/perl@24810

hv.c

diff --git a/hv.c b/hv.c
index 1358acd..b779e35 100644 (file)
--- a/hv.c
+++ b/hv.c
@@ -2201,9 +2201,10 @@ S_unshare_hek_or_pvn(pTHX_ const HEK *hek, const char *str, I32 len, U32 hash)
     /* assert(xhv_array != 0) */
     LOCK_STRTAB_MUTEX;
     first = oentry = &(HvARRAY(PL_strtab))[hash & (I32) HvMAX(PL_strtab)];
-    if (hek) {
+    if (he) {
+       const HE *const he_he = &(he->shared_he_he);
         for (entry = *oentry; entry; oentry = &HeNEXT(entry), entry = *oentry) {
-            if (HeKEY_hek(entry) != hek)
+            if (entry != he_he)
                 continue;
             found = 1;
             break;