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:
@@ -1228,7 +1228,7 @@ static void fs_init(LexState *ls, FuncState *fs)
|
||||
fs->flags = 0;
|
||||
fs->framesize = 2; /* Minimum frame size. */
|
||||
fs->kt = lj_tab_new(L, 0, 0);
|
||||
/* Anchor table of constants and prototype (to avoid being collected). */
|
||||
/* Anchor table of constants in stack to avoid being collected. */
|
||||
settabV(L, L->top, fs->kt);
|
||||
incr_top(L);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user