diff options
author | Mike Pall <mike> | 2023-07-09 21:15:01 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2023-07-09 21:15:01 +0200 |
commit | 8fbd576fb9414a5fa70dfa6069733d3416a78269 (patch) | |
tree | a0bb22f109b7bdb155a98cbe02fa0dbe40efcbdf /src | |
parent | bd55d3023fe0cb806d35eea10af1540ce805805f (diff) | |
download | luajit-8fbd576fb9414a5fa70dfa6069733d3416a78269.tar.gz luajit-8fbd576fb9414a5fa70dfa6069733d3416a78269.tar.bz2 luajit-8fbd576fb9414a5fa70dfa6069733d3416a78269.zip |
ARM64: Fix assembly of HREFK.
Reported by caohongqing. #1026
Fix contributed by Peter Cawley.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_asm_arm64.h | 2 |
1 files changed, 1 insertions, 1 deletions
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) | |||
909 | IRIns *irkey = IR(kslot->op1); | 909 | IRIns *irkey = IR(kslot->op1); |
910 | int32_t ofs = (int32_t)(kslot->op2 * sizeof(Node)); | 910 | int32_t ofs = (int32_t)(kslot->op2 * sizeof(Node)); |
911 | int32_t kofs = ofs + (int32_t)offsetof(Node, key); | 911 | int32_t kofs = ofs + (int32_t)offsetof(Node, key); |
912 | int bigofs = !emit_checkofs(A64I_LDRx, ofs); | 912 | int bigofs = !emit_checkofs(A64I_LDRx, kofs); |
913 | Reg dest = (ra_used(ir) || bigofs) ? ra_dest(as, ir, RSET_GPR) : RID_NONE; | 913 | Reg dest = (ra_used(ir) || bigofs) ? ra_dest(as, ir, RSET_GPR) : RID_NONE; |
914 | Reg node = ra_alloc1(as, ir->op1, RSET_GPR); | 914 | Reg node = ra_alloc1(as, ir->op1, RSET_GPR); |
915 | Reg key, idx = node; | 915 | Reg key, idx = node; |