ARM64: Fix xpcall() error case.

Thanks to Stefan Pejic.
This commit is contained in:
Mike Pall 2017-11-16 12:53:34 +01:00
parent 99cdfbf6a1
commit 33082a6f47

View File

@ -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