mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
x86/x64: Fix stack overflow handling for coroutine results.
This commit is contained in:
parent
5baf0f9dc2
commit
d351c2ae36
1922
src/buildvm_x64.h
1922
src/buildvm_x64.h
File diff suppressed because it is too large
Load Diff
1058
src/buildvm_x64win.h
1058
src/buildvm_x64win.h
File diff suppressed because it is too large
Load Diff
@ -1722,6 +1722,11 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
|||||||
| mov FCARG2, PC
|
| mov FCARG2, PC
|
||||||
| mov FCARG1, L:RB
|
| mov FCARG1, L:RB
|
||||||
| call extern lj_state_growstack@8 // (lua_State *L, int n)
|
| call extern lj_state_growstack@8 // (lua_State *L, int n)
|
||||||
|
|.if X64
|
||||||
|
| mov L:PC, TMP1
|
||||||
|
|.else
|
||||||
|
| mov L:PC, ARG1
|
||||||
|
|.endif
|
||||||
| mov BASE, L:RB->base
|
| mov BASE, L:RB->base
|
||||||
| jmp <4 // Retry the stack move.
|
| jmp <4 // Retry the stack move.
|
||||||
|.endmacro
|
|.endmacro
|
||||||
|
1156
src/buildvm_x86.h
1156
src/buildvm_x86.h
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user