From 8fbd576fb9414a5fa70dfa6069733d3416a78269 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sun, 9 Jul 2023 21:15:01 +0200 Subject: [PATCH] ARM64: Fix assembly of HREFK. Reported by caohongqing. #1026 Fix contributed by Peter Cawley. --- src/lj_asm_arm64.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lj_asm_arm64.h b/src/lj_asm_arm64.h index 805ea54b..95138fe9 100644 --- a/src/lj_asm_arm64.h +++ b/src/lj_asm_arm64.h @@ -909,7 +909,7 @@ static void asm_hrefk(ASMState *as, IRIns *ir) IRIns *irkey = IR(kslot->op1); int32_t ofs = (int32_t)(kslot->op2 * sizeof(Node)); int32_t kofs = ofs + (int32_t)offsetof(Node, key); - int bigofs = !emit_checkofs(A64I_LDRx, ofs); + int bigofs = !emit_checkofs(A64I_LDRx, kofs); Reg dest = (ra_used(ir) || bigofs) ? ra_dest(as, ir, RSET_GPR) : RID_NONE; Reg node = ra_alloc1(as, ir->op1, RSET_GPR); Reg key, idx = node;