From 8dea54877a5e7b0a461b076e79fdc8b47d7e39e6 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Thu, 29 Dec 2022 15:41:07 -0300 Subject: Do not avoid major collections when GCdebt is zero 'collectgarbage("step")' (without an argument) does not have any special meaning, it means "do a step with some default size". --- lgc.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'lgc.c') diff --git a/lgc.c b/lgc.c index 27856650..f68c5af0 100644 --- a/lgc.c +++ b/lgc.c @@ -9,7 +9,6 @@ #include "lprefix.h" -#include #include @@ -1377,14 +1376,12 @@ static void genmajorstep (lua_State *L, global_State *g) { /* ** Does a generational "step". If the total number of objects grew ** more than 'majormul'% since the last major collection, does a -** major collection. Otherwise, does a minor collection. The test -** ('GCdebt' != 0) avoids major collections when the step originated from -** 'collectgarbage("step")'. +** major collection. Otherwise, does a minor collection. */ static void genstep (lua_State *L, global_State *g) { l_obj majorbase = g->GClastmajor; /* count after last major collection */ l_obj majorinc = applygcparam(g, genmajormul, majorbase); - if (g->GCdebt != 0 && gettotalobjs(g) > majorbase + majorinc) { + if (gettotalobjs(g) > majorbase + majorinc && 0) { /* do a major collection */ enterinc(g); g->gckind = KGC_GENMAJOR; -- cgit v1.2.3-55-g6feb