Blame SOURCES/0017-LJ_GC64-Fix-ir_khash-for-non-string-GCobj.patch

006bc1
From b4ed3219a1a98dd9fe7d1e3eeea3b82f5a780948 Mon Sep 17 00:00:00 2001
006bc1
From: Mike Pall <mike>
006bc1
Date: Mon, 2 Oct 2017 09:22:46 +0200
006bc1
Subject: [PATCH 17/72] LJ_GC64: Fix ir_khash for non-string GCobj.
006bc1
006bc1
Contributed by Peter Cawley.
006bc1
---
006bc1
 src/lj_asm.c | 4 ++++
006bc1
 1 file changed, 4 insertions(+)
006bc1
006bc1
diff --git a/src/lj_asm.c b/src/lj_asm.c
006bc1
index bed2268..d961927 100644
006bc1
--- a/src/lj_asm.c
006bc1
+++ b/src/lj_asm.c
006bc1
@@ -1017,7 +1017,11 @@ static uint32_t ir_khash(IRIns *ir)
006bc1
   } else {
006bc1
     lua_assert(irt_isgcv(ir->t));
006bc1
     lo = u32ptr(ir_kgc(ir));
006bc1
+#if LJ_GC64
006bc1
+    hi = (uint32_t)(u64ptr(ir_kgc(ir)) >> 32) | (irt_toitype(ir->t) << 15);
006bc1
+#else
006bc1
     hi = lo + HASH_BIAS;
006bc1
+#endif
006bc1
   }
006bc1
   return hashrot(lo, hi);
006bc1
 }
006bc1
-- 
006bc1
2.20.1
006bc1