aboutsummaryrefslogtreecommitdiff
path: root/lgc.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2024-09-06 14:38:39 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2024-09-06 14:38:39 -0300
commita04e0ffdb9be42a77b5657f46cac8d7faa5a0f43 (patch)
treeeb96915b808cf929015452bd08ca1e5c571683ce /lgc.c
parent007b8c7a01eaa97d796561a19c7e9af1ec474495 (diff)
downloadlua-a04e0ffdb9be42a77b5657f46cac8d7faa5a0f43.tar.gz
lua-a04e0ffdb9be42a77b5657f46cac8d7faa5a0f43.tar.bz2
lua-a04e0ffdb9be42a77b5657f46cac8d7faa5a0f43.zip
Rename of fields in global state that control GC
All fields in the global state that control the pace of the garbage collector prefixed with 'GC'.
Diffstat (limited to 'lgc.c')
-rw-r--r--lgc.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/lgc.c b/lgc.c
index 93d2249b..92034635 100644
--- a/lgc.c
+++ b/lgc.c
@@ -290,7 +290,7 @@ GCObject *luaC_newobj (lua_State *L, lu_byte tt, size_t sz) {
290** (only closures can), and a userdata's metatable must be a table. 290** (only closures can), and a userdata's metatable must be a table.
291*/ 291*/
292static void reallymarkobject (global_State *g, GCObject *o) { 292static void reallymarkobject (global_State *g, GCObject *o) {
293 g->marked++; 293 g->GCmarked++;
294 switch (o->tt) { 294 switch (o->tt) {
295 case LUA_VSHRSTR: 295 case LUA_VSHRSTR:
296 case LUA_VLNGSTR: { 296 case LUA_VLNGSTR: {
@@ -401,7 +401,7 @@ static void cleargraylists (global_State *g) {
401*/ 401*/
402static void restartcollection (global_State *g) { 402static void restartcollection (global_State *g) {
403 cleargraylists(g); 403 cleargraylists(g);
404 g->marked = NFIXED; 404 g->GCmarked = NFIXED;
405 markobject(g, g->mainthread); 405 markobject(g, g->mainthread);
406 markvalue(g, &g->l_registry); 406 markvalue(g, &g->l_registry);
407 markmt(g); 407 markmt(g);
@@ -781,7 +781,7 @@ static void freeupval (lua_State *L, UpVal *uv) {
781 781
782 782
783static void freeobj (lua_State *L, GCObject *o) { 783static void freeobj (lua_State *L, GCObject *o) {
784 G(L)->totalobjs--; 784 G(L)->GCtotalobjs--;
785 switch (o->tt) { 785 switch (o->tt) {
786 case LUA_VPROTO: 786 case LUA_VPROTO:
787 luaF_freeproto(L, gco2p(o)); 787 luaF_freeproto(L, gco2p(o));
@@ -1052,7 +1052,7 @@ void luaC_checkfinalizer (lua_State *L, GCObject *o, Table *mt) {
1052** approximately (marked * pause / 100). 1052** approximately (marked * pause / 100).
1053*/ 1053*/
1054static void setpause (global_State *g) { 1054static void setpause (global_State *g) {
1055 l_obj threshold = applygcparam(g, PAUSE, g->marked); 1055 l_obj threshold = applygcparam(g, PAUSE, g->GCmarked);
1056 l_obj debt = threshold - gettotalobjs(g); 1056 l_obj debt = threshold - gettotalobjs(g);
1057 if (debt < 0) debt = 0; 1057 if (debt < 0) debt = 0;
1058 luaE_setdebt(g, debt); 1058 luaE_setdebt(g, debt);
@@ -1236,7 +1236,7 @@ static void finishgencycle (lua_State *L, global_State *g) {
1236** in generational mode. 1236** in generational mode.
1237*/ 1237*/
1238static void minor2inc (lua_State *L, global_State *g, lu_byte kind) { 1238static void minor2inc (lua_State *L, global_State *g, lu_byte kind) {
1239 g->GCmajorminor = g->marked; /* number of live objects */ 1239 g->GCmajorminor = g->GCmarked; /* number of live objects */
1240 g->gckind = kind; 1240 g->gckind = kind;
1241 g->reallyold = g->old1 = g->survival = NULL; 1241 g->reallyold = g->old1 = g->survival = NULL;
1242 g->finobjrold = g->finobjold1 = g->finobjsur = NULL; 1242 g->finobjrold = g->finobjold1 = g->finobjsur = NULL;
@@ -1260,7 +1260,7 @@ static void minor2inc (lua_State *L, global_State *g, lu_byte kind) {
1260static int checkminormajor (global_State *g, l_obj addedold1) { 1260static int checkminormajor (global_State *g, l_obj addedold1) {
1261 l_obj step = applygcparam(g, MINORMUL, g->GCmajorminor); 1261 l_obj step = applygcparam(g, MINORMUL, g->GCmajorminor);
1262 l_obj limit = applygcparam(g, MINORMAJOR, g->GCmajorminor); 1262 l_obj limit = applygcparam(g, MINORMAJOR, g->GCmajorminor);
1263 return (addedold1 >= (step >> 1) || g->marked >= limit); 1263 return (addedold1 >= (step >> 1) || g->GCmarked >= limit);
1264} 1264}
1265 1265
1266/* 1266/*
@@ -1270,7 +1270,7 @@ static int checkminormajor (global_State *g, l_obj addedold1) {
1270*/ 1270*/
1271static void youngcollection (lua_State *L, global_State *g) { 1271static void youngcollection (lua_State *L, global_State *g) {
1272 l_obj addedold1 = 0; 1272 l_obj addedold1 = 0;
1273 l_obj marked = g->marked; /* preserve 'g->marked' */ 1273 l_obj marked = g->GCmarked; /* preserve 'g->GCmarked' */
1274 GCObject **psurvival; /* to point to first non-dead survival object */ 1274 GCObject **psurvival; /* to point to first non-dead survival object */
1275 GCObject *dummy; /* dummy out parameter to 'sweepgen' */ 1275 GCObject *dummy; /* dummy out parameter to 'sweepgen' */
1276 lua_assert(g->gcstate == GCSpropagate); 1276 lua_assert(g->gcstate == GCSpropagate);
@@ -1304,12 +1304,12 @@ static void youngcollection (lua_State *L, global_State *g) {
1304 sweepgen(L, g, &g->tobefnz, NULL, &dummy, &addedold1); 1304 sweepgen(L, g, &g->tobefnz, NULL, &dummy, &addedold1);
1305 1305
1306 /* keep total number of added old1 objects */ 1306 /* keep total number of added old1 objects */
1307 g->marked = marked + addedold1; 1307 g->GCmarked = marked + addedold1;
1308 1308
1309 /* decide whether to shift to major mode */ 1309 /* decide whether to shift to major mode */
1310 if (checkminormajor(g, addedold1)) { 1310 if (checkminormajor(g, addedold1)) {
1311 minor2inc(L, g, KGC_GENMAJOR); /* go to major mode */ 1311 minor2inc(L, g, KGC_GENMAJOR); /* go to major mode */
1312 g->marked = 0; /* avoid pause in first major cycle */ 1312 g->GCmarked = 0; /* avoid pause in first major cycle */
1313 } 1313 }
1314 else 1314 else
1315 finishgencycle(L, g); /* still in minor mode; finish it */ 1315 finishgencycle(L, g); /* still in minor mode; finish it */
@@ -1338,8 +1338,8 @@ static void atomic2gen (lua_State *L, global_State *g) {
1338 sweep2old(L, &g->tobefnz); 1338 sweep2old(L, &g->tobefnz);
1339 1339
1340 g->gckind = KGC_GENMINOR; 1340 g->gckind = KGC_GENMINOR;
1341 g->GCmajorminor = g->marked; /* "base" for number of objects */ 1341 g->GCmajorminor = g->GCmarked; /* "base" for number of objects */
1342 g->marked = 0; /* to count the number of added old1 objects */ 1342 g->GCmarked = 0; /* to count the number of added old1 objects */
1343 finishgencycle(L, g); 1343 finishgencycle(L, g);
1344} 1344}
1345 1345
@@ -1407,14 +1407,14 @@ static int checkmajorminor (lua_State *L, global_State *g) {
1407 l_obj numobjs = gettotalobjs(g); 1407 l_obj numobjs = gettotalobjs(g);
1408 l_obj addedobjs = numobjs - g->GCmajorminor; 1408 l_obj addedobjs = numobjs - g->GCmajorminor;
1409 l_obj limit = applygcparam(g, MAJORMINOR, addedobjs); 1409 l_obj limit = applygcparam(g, MAJORMINOR, addedobjs);
1410 l_obj tobecollected = numobjs - g->marked; 1410 l_obj tobecollected = numobjs - g->GCmarked;
1411 if (tobecollected > limit) { 1411 if (tobecollected > limit) {
1412 atomic2gen(L, g); /* return to generational mode */ 1412 atomic2gen(L, g); /* return to generational mode */
1413 setminordebt(g); 1413 setminordebt(g);
1414 return 0; /* exit incremental collection */ 1414 return 0; /* exit incremental collection */
1415 } 1415 }
1416 } 1416 }
1417 g->GCmajorminor = g->marked; /* prepare for next collection */ 1417 g->GCmajorminor = g->GCmarked; /* prepare for next collection */
1418 return 1; /* stay doing incremental collections */ 1418 return 1; /* stay doing incremental collections */
1419} 1419}
1420 1420
@@ -1692,7 +1692,7 @@ static void fullinc (lua_State *L, global_State *g) {
1692 luaC_runtilstate(L, GCSpause, 1); 1692 luaC_runtilstate(L, GCSpause, 1);
1693 luaC_runtilstate(L, GCScallfin, 1); /* run up to finalizers */ 1693 luaC_runtilstate(L, GCScallfin, 1); /* run up to finalizers */
1694 /* 'marked' must be correct after a full GC cycle */ 1694 /* 'marked' must be correct after a full GC cycle */
1695 lua_assert(g->marked == gettotalobjs(g)); 1695 lua_assert(g->GCmarked == gettotalobjs(g));
1696 luaC_runtilstate(L, GCSpause, 1); /* finish collection */ 1696 luaC_runtilstate(L, GCSpause, 1); /* finish collection */
1697 setpause(g); 1697 setpause(g);
1698} 1698}