diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-12-12 14:08:55 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-12-12 14:08:55 -0300 |
commit | ff106c028ca944ee5e95b005628e2669b87bcaf2 (patch) | |
tree | 656a0733e61d6a728de4e4ea1ecaea18f171c3eb /lgc.c | |
parent | d738c8d18bcc5651109b3a46103d6aa983772e68 (diff) | |
parent | fa2f294dd1269115bf9cf534dd38553e2f606801 (diff) | |
download | lua-ff106c028ca944ee5e95b005628e2669b87bcaf2.tar.gz lua-ff106c028ca944ee5e95b005628e2669b87bcaf2.tar.bz2 lua-ff106c028ca944ee5e95b005628e2669b87bcaf2.zip |
Merge branch 'master' into nextversion
Diffstat (limited to 'lgc.c')
-rw-r--r-- | lgc.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1614,12 +1614,16 @@ static void incstep (lua_State *L, global_State *g) { | |||
1614 | } | 1614 | } |
1615 | 1615 | ||
1616 | /* | 1616 | /* |
1617 | ** performs a basic GC step if collector is running | 1617 | ** Performs a basic GC step if collector is running. (If collector is |
1618 | ** not running, set a reasonable debt to avoid it being called at | ||
1619 | ** every single check.) | ||
1618 | */ | 1620 | */ |
1619 | void luaC_step (lua_State *L) { | 1621 | void luaC_step (lua_State *L) { |
1620 | global_State *g = G(L); | 1622 | global_State *g = G(L); |
1621 | lua_assert(!g->gcemergency); | 1623 | lua_assert(!g->gcemergency); |
1622 | if (gcrunning(g)) { /* running? */ | 1624 | if (!gcrunning(g)) /* not running? */ |
1625 | luaE_setdebt(g, -2000); | ||
1626 | else { | ||
1623 | switch (g->gckind) { | 1627 | switch (g->gckind) { |
1624 | case KGC_INC: | 1628 | case KGC_INC: |
1625 | incstep(L, g); | 1629 | incstep(L, g); |