diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-07-29 11:34:08 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-07-29 11:34:08 -0300 |
commit | b4c353434f28f3e9d4c45e61d42b4fd07d76cad2 (patch) | |
tree | febb2113f925844131481d3b60846b5624f2cbce /lstate.h | |
parent | 71f70df3271f6e8ae9e8efcaef3be19f8d37c161 (diff) | |
download | lua-b4c353434f28f3e9d4c45e61d42b4fd07d76cad2.tar.gz lua-b4c353434f28f3e9d4c45e61d42b4fd07d76cad2.tar.bz2 lua-b4c353434f28f3e9d4c45e61d42b4fd07d76cad2.zip |
Details
The fields 'old' and 'finobjold' were renamed 'old1' and 'finobjold1',
respectively, to make clearer the main ages of their elements.
Diffstat (limited to 'lstate.h')
-rw-r--r-- | lstate.h | 19 |
1 files changed, 13 insertions, 6 deletions
@@ -32,13 +32,20 @@ | |||
32 | ** | 32 | ** |
33 | ** 'allgc' -> 'survival': new objects; | 33 | ** 'allgc' -> 'survival': new objects; |
34 | ** 'survival' -> 'old': objects that survived one collection; | 34 | ** 'survival' -> 'old': objects that survived one collection; |
35 | ** 'old' -> 'reallyold': objects that became old in last collection; | 35 | ** 'old1' -> 'reallyold': objects that became old in last collection; |
36 | ** 'reallyold' -> NULL: objects old for more than one cycle. | 36 | ** 'reallyold' -> NULL: objects old for more than one cycle. |
37 | ** | 37 | ** |
38 | ** 'finobj' -> 'finobjsur': new objects marked for finalization; | 38 | ** 'finobj' -> 'finobjsur': new objects marked for finalization; |
39 | ** 'finobjsur' -> 'finobjold': survived """"; | 39 | ** 'finobjsur' -> 'finobjold1': survived """"; |
40 | ** 'finobjold' -> 'finobjrold': just old """"; | 40 | ** 'finobjold1' -> 'finobjrold': just old """"; |
41 | ** 'finobjrold' -> NULL: really old """". | 41 | ** 'finobjrold' -> NULL: really old """". |
42 | ** | ||
43 | ** All lists can contain elements older than their main ages, due | ||
44 | ** to 'luaC_checkfinalizer' and 'udata2finalize', which move | ||
45 | ** objects between the normal lists and the "marked for finalization" | ||
46 | ** lists. Moreover, barriers can age young objects in young lists as | ||
47 | ** OLD0, which then become OLD1. However, a list never contains | ||
48 | ** elements younger than their main ages. | ||
42 | */ | 49 | */ |
43 | 50 | ||
44 | /* | 51 | /* |
@@ -257,10 +264,10 @@ typedef struct global_State { | |||
257 | GCObject *fixedgc; /* list of objects not to be collected */ | 264 | GCObject *fixedgc; /* list of objects not to be collected */ |
258 | /* fields for generational collector */ | 265 | /* fields for generational collector */ |
259 | GCObject *survival; /* start of objects that survived one GC cycle */ | 266 | GCObject *survival; /* start of objects that survived one GC cycle */ |
260 | GCObject *old; /* start of old objects */ | 267 | GCObject *old1; /* start of old1 objects */ |
261 | GCObject *reallyold; /* old objects with more than one cycle */ | 268 | GCObject *reallyold; /* objects more than one cycle old ("really old") */ |
262 | GCObject *finobjsur; /* list of survival objects with finalizers */ | 269 | GCObject *finobjsur; /* list of survival objects with finalizers */ |
263 | GCObject *finobjold; /* list of old objects with finalizers */ | 270 | GCObject *finobjold1; /* list of old1 objects with finalizers */ |
264 | GCObject *finobjrold; /* list of really old objects with finalizers */ | 271 | GCObject *finobjrold; /* list of really old objects with finalizers */ |
265 | struct lua_State *twups; /* list of threads with open upvalues */ | 272 | struct lua_State *twups; /* list of threads with open upvalues */ |
266 | lua_CFunction panic; /* to be called in unprotected errors */ | 273 | lua_CFunction panic; /* to be called in unprotected errors */ |