These are bug fixes from the 2.1 branch in the official LuaJIT repository that never made it into a release since there have been none since 2.1.0-beta3.
31 lines
966 B
Diff
31 lines
966 B
Diff
From 33082a6f4778aa152f6a4a684a7fe79436f1ecb6 Mon Sep 17 00:00:00 2001
|
|
From: Mike Pall <mike>
|
|
Date: Thu, 16 Nov 2017 12:53:34 +0100
|
|
Subject: [PATCH 22/72] ARM64: Fix xpcall() error case.
|
|
|
|
Thanks to Stefan Pejic.
|
|
---
|
|
src/vm_arm64.dasc | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/vm_arm64.dasc b/src/vm_arm64.dasc
|
|
index 3eaf376..241c58a 100644
|
|
--- a/src/vm_arm64.dasc
|
|
+++ b/src/vm_arm64.dasc
|
|
@@ -1185,12 +1185,12 @@ static void build_subroutines(BuildCtx *ctx)
|
|
| subs NARGS8:RC, NARGS8:RC, #16
|
|
| blo ->fff_fallback
|
|
| mov RB, BASE
|
|
- | add BASE, BASE, #24
|
|
| asr ITYPE, CARG2, #47
|
|
| ubfx TMP0w, TMP0w, #HOOK_ACTIVE_SHIFT, #1
|
|
| cmn ITYPE, #-LJ_TFUNC
|
|
| add PC, TMP0, #24+FRAME_PCALL
|
|
| bne ->fff_fallback // Traceback must be a function.
|
|
+ | add BASE, BASE, #24
|
|
| stp CARG2, CARG1, [RB] // Swap function and traceback.
|
|
| cbz NARGS8:RC, ->vm_call_dispatch
|
|
| b <1
|
|
--
|
|
2.20.1
|
|
|