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 | |
| 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.
| -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; |
