Replace on-trace GC frame syncing with interpreter exit.
Need to sync GC objects to stack only during atomic GC phase. Need to setup a proper frame structure only for calling finalizers. Force an exit to the interpreter and let it handle the uncommon cases. Finally solves the "NYI: gcstep sync with frames" issue.
This commit is contained in:
@@ -47,7 +47,7 @@ LJ_FUNC void lj_gc_freeall(global_State *g);
|
||||
LJ_FUNCA int LJ_FASTCALL lj_gc_step(lua_State *L);
|
||||
LJ_FUNCA void LJ_FASTCALL lj_gc_step_fixtop(lua_State *L);
|
||||
#if LJ_HASJIT
|
||||
LJ_FUNC void LJ_FASTCALL lj_gc_step_jit(lua_State *L, MSize steps);
|
||||
LJ_FUNC int LJ_FASTCALL lj_gc_step_jit(lua_State *L, MSize steps);
|
||||
#endif
|
||||
LJ_FUNC void lj_gc_fullgc(lua_State *L);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user