<HTML><BODY><div>Hi, Sergey!</div><div>Thanks for the review!</div><div>Fixed your comment, branch is force-pushed.</div><div> </div><div> </div><div data-signature-widget="container"><div data-signature-widget="content"><div>--<br>Best regards,</div><div>Maxim Kokryashkin</div></div></div><div> </div><div> </div><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">Вторник, 3 октября 2023, 21:55 +03:00 от Sergey Bronnikov <sergeyb@tarantool.org>:<br> <div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_16963593280810928291_BODY"><br>On 9/29/23 09:20, Maxim Kokryashkin wrote:<br>> This reverts commit ed412cd9f55fe87fd32a69c86e1732690fc5c1b0.<br>><br>> As was mentioned in tarantool/tarantool#6189, throwing an error<br>> not on the currently executed coroutine is a violation of the<br>> Lua/C API. This patch is a part of the patchset that supports<br>> this violation and is reverted because of it.<br>Ditto.<br>> Part of tarantool/tarantool#6323<br>> ---<br>> src/vm_x64.dasc | 1 -<br>> src/vm_x86.dasc | 2 --<br>> 2 files changed, 3 deletions(-)<br>><br>> diff --git a/src/vm_x64.dasc b/src/vm_x64.dasc<br>> index 116716ac..399dfcbf 100644<br>> --- a/src/vm_x64.dasc<br>> +++ b/src/vm_x64.dasc<br>> @@ -535,7 +535,6 @@ static void build_subroutines(BuildCtx *ctx)<br>> |->vm_unwind_c_eh: // Landing pad for external unwinder.<br>> | mov L:RB, SAVE_L<br>> | mov GL:RB, L:RB->glref<br>> - | mov [GL:RB->cur_L], L:RB<br>> | mov dword GL:RB->vmstate, ~LJ_VMST_CFUNC<br>> | mov DISPATCH, GL:RB // Setup pointer to dispatch table.<br>> | add DISPATCH, GG_G2DISP<br>> diff --git a/src/vm_x86.dasc b/src/vm_x86.dasc<br>> index e3fbf751..9fa9a3f7 100644<br>> --- a/src/vm_x86.dasc<br>> +++ b/src/vm_x86.dasc<br>> @@ -683,7 +683,6 @@ static void build_subroutines(BuildCtx *ctx)<br>> |->vm_unwind_c_eh: // Landing pad for external unwinder.<br>> | mov L:RB, SAVE_L<br>> | mov GL:RB, L:RB->glref<br>> - | mov dword GL:RB->cur_L, L:RB<br>> | mov dword GL:RB->vmstate, ~LJ_VMST_CFUNC<br>> | mov DISPATCH, GL:RB // Setup pointer to dispatch table.<br>> | add DISPATCH, GG_G2DISP<br>> @@ -719,7 +718,6 @@ static void build_subroutines(BuildCtx *ctx)<br>> | add DISPATCH, GG_G2DISP<br>> | mov PC, [BASE-4] // Fetch PC of previous frame.<br>> | mov dword [BASE-4], LJ_TFALSE // Prepend false to error message.<br>> - | mov [DISPATCH+DISPATCH_GL(cur_L)], L:RB<br>> | // INTERP until jump to BC_RET* or return to C.<br>> | set_vmstate INTERP<br>> | jmp ->vm_returnc // Increments RD/MULTRES and returns.</div></div></div></div></blockquote><div> </div></BODY></HTML>