diff options
author | Mike Pall <mike> | 2010-04-18 13:41:30 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2010-04-19 00:43:35 +0200 |
commit | 932cda0fe3cbd34e60aa68479935c946f69b756f (patch) | |
tree | 9e46aa620a75b5ac5bc95413b8b7b57e507d82a1 /src/lj_parse.c | |
parent | ff82df797a5ddf6ed2610ff1808b1fdc53686ea1 (diff) | |
download | luajit-932cda0fe3cbd34e60aa68479935c946f69b756f.tar.gz luajit-932cda0fe3cbd34e60aa68479935c946f69b756f.tar.bz2 luajit-932cda0fe3cbd34e60aa68479935c946f69b756f.zip |
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.
Diffstat (limited to 'src/lj_parse.c')
-rw-r--r-- | src/lj_parse.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_parse.c b/src/lj_parse.c index 3bef225a..31a70d38 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c | |||
@@ -1228,7 +1228,7 @@ static void fs_init(LexState *ls, FuncState *fs) | |||
1228 | fs->flags = 0; | 1228 | fs->flags = 0; |
1229 | fs->framesize = 2; /* Minimum frame size. */ | 1229 | fs->framesize = 2; /* Minimum frame size. */ |
1230 | fs->kt = lj_tab_new(L, 0, 0); | 1230 | fs->kt = lj_tab_new(L, 0, 0); |
1231 | /* Anchor table of constants and prototype (to avoid being collected). */ | 1231 | /* Anchor table of constants in stack to avoid being collected. */ |
1232 | settabV(L, L->top, fs->kt); | 1232 | settabV(L, L->top, fs->kt); |
1233 | incr_top(L); | 1233 | incr_top(L); |
1234 | } | 1234 | } |