Explorar o código

ARM64: Fix assembly of HREFK.

Reported by caohongqing. #1026
Fix contributed by Peter Cawley.
Mike Pall %!s(int64=2) %!d(string=hai) anos
pai
achega
8fbd576fb9
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      src/lj_asm_arm64.h

+ 1 - 1
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;