diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-11-24 10:20:15 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2022-11-24 10:20:15 -0300 |
commit | 152b51955aabb9dfb32302569fac810e999eda03 (patch) | |
tree | 68a5495c94326ac24023370779d231af468fbd9a /lgc.c | |
parent | ec61be9a7e828bfa366a35658b90f53b1ce39478 (diff) | |
download | lua-152b51955aabb9dfb32302569fac810e999eda03.tar.gz lua-152b51955aabb9dfb32302569fac810e999eda03.tar.bz2 lua-152b51955aabb9dfb32302569fac810e999eda03.zip |
Removed GC checks from function calls
Function calls do not create new objects. (It may use memory with
stack reallocation, but now that is irrelevant to the GC.)
Diffstat (limited to 'lgc.c')
-rw-r--r-- | lgc.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1700,8 +1700,9 @@ static void fullinc (lua_State *L, global_State *g) { | |||
1700 | /* finish any pending sweep phase to start a new cycle */ | 1700 | /* finish any pending sweep phase to start a new cycle */ |
1701 | luaC_runtilstate(L, bitmask(GCSpause)); | 1701 | luaC_runtilstate(L, bitmask(GCSpause)); |
1702 | luaC_runtilstate(L, bitmask(GCScallfin)); /* run up to finalizers */ | 1702 | luaC_runtilstate(L, bitmask(GCScallfin)); /* run up to finalizers */ |
1703 | luaC_runtilstate(L, bitmask(GCSpause)); /* finish collection */ | ||
1704 | /* estimate must be correct after a full GC cycle */ | 1703 | /* estimate must be correct after a full GC cycle */ |
1704 | lua_assert(g->marked == gettotalobjs(g)); | ||
1705 | luaC_runtilstate(L, bitmask(GCSpause)); /* finish collection */ | ||
1705 | setpause(g); | 1706 | setpause(g); |
1706 | } | 1707 | } |
1707 | 1708 | ||