[Tarantool-patches] [PATCH luajit v2 3/5] Revert "arm64: fix cur_L restoration on error throw"
Maxim Kokryashkin
max.kokryashkin at gmail.com
Fri Sep 29 09:20:12 MSK 2023
This reverts commit 7570ff61138fb50a17ed78ee28dde0acbbf6131e.
As was mentioned in tarantool/tarantool#6189, throwing an error
not on the currently executed coroutine is a violation of the
Lua/C API. This patch is a part of the patchset that supports
this violation and is reverted because of it.
Part of tarantool/tarantool#6323
---
src/vm_arm64.dasc | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/vm_arm64.dasc b/src/vm_arm64.dasc
index de33bde4..0a12b5b7 100644
--- a/src/vm_arm64.dasc
+++ b/src/vm_arm64.dasc
@@ -395,7 +395,6 @@ static void build_subroutines(BuildCtx *ctx)
| mv_vmstate TMP0w, CFUNC
| ldr GL, L->glref
| st_vmstate TMP0w
- | str L, GL->cur_L
| b ->vm_leave_unw
|
|->vm_unwind_ff: // Unwind C stack, return from ff pcall.
@@ -411,7 +410,6 @@ static void build_subroutines(BuildCtx *ctx)
| ldr GL, L->glref // Setup pointer to global state.
| mov_false TMP0
| sub RA, BASE, #8 // Results start at BASE-8.
- | str L, GL->cur_L
| ldr PC, [BASE, FRAME_PC] // Fetch PC of previous frame.
| str TMP0, [BASE, #-8] // Prepend false to error message.
| st_vmstate ST_INTERP
--
2.42.0
More information about the Tarantool-patches
mailing list