]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
ARM64: Set fixed interpreter registers before rethrow.
authorMike Pall <mike>
Sun, 17 Sep 2023 08:09:58 +0000 (10:09 +0200)
committerMike Pall <mike>
Sun, 17 Sep 2023 08:09:58 +0000 (10:09 +0200)
Thanks to Peter Cawley. #593

src/vm_arm64.dasc

index 34d2998265f310246e76a4ea7fc91d9026fa658f..61a3ba6d8f6b4e947e4710090691bfc618f0a00d 100644 (file)
@@ -2029,13 +2029,13 @@ static void build_subroutines(BuildCtx *ctx)
   |.if JIT
   |  ldr L, SAVE_L
   |1:
+  |   movz TISNUM, #(LJ_TISNUM>>1)&0xffff, lsl #48
+  |   movz TISNUMhi, #(LJ_TISNUM>>1)&0xffff, lsl #16
+  |   movn TISNIL, #0
   |  cmn CARG1w, #LUA_ERRERR
   |  bhs >9                            // Check for error from exit.
-  |   lsl RC, CARG1, #3
   |  ldr LFUNC:CARG2, [BASE, FRAME_FUNC]
-  |    movz TISNUM, #(LJ_TISNUM>>1)&0xffff, lsl #48
-  |    movz TISNUMhi, #(LJ_TISNUM>>1)&0xffff, lsl #16
-  |    movn TISNIL, #0
+  |   lsl RC, CARG1, #3
   |  and LFUNC:CARG2, CARG2, #LJ_GCVMASK
   |   str RCw, SAVE_MULTRES
   |   str BASE, L->base