[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