diff --git a/src/lj_asm.c b/src/lj_asm.c index 4994858ece..89e5919f9d 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c @@ -895,7 +895,7 @@ static uint32_t ir_khash(IRIns *ir) } else { lua_assert(irt_isgcv(ir->t)); lo = u32ptr(ir_kgc(ir)); - hi = lo + HASH_BIAS; + hi = (uint32_t)(u64ptr(ir_kgc(ir)) >> 32) | (irt_toitype(ir->t) << 15); } return hashrot(lo, hi); }