diff options
Diffstat (limited to 'Build/source/libs/lua53/lua53-src/src/lstate.h')
-rw-r--r-- | Build/source/libs/lua53/lua53-src/src/lstate.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/Build/source/libs/lua53/lua53-src/src/lstate.h b/Build/source/libs/lua53/lua53-src/src/lstate.h index a469466c447..56b37410000 100644 --- a/Build/source/libs/lua53/lua53-src/src/lstate.h +++ b/Build/source/libs/lua53/lua53-src/src/lstate.h @@ -1,5 +1,5 @@ /* -** $Id: lstate.h,v 2.133 2016/12/22 13:08:50 roberto Exp $ +** $Id: lstate.h,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $ ** Global State ** See Copyright Notice in lua.h */ @@ -26,6 +26,24 @@ ** 'tobefnz': all objects ready to be finalized; ** 'fixedgc': all objects that are not to be collected (currently ** only small strings, such as reserved words). +** +** Moreover, there is another set of lists that control gray objects. +** These lists are linked by fields 'gclist'. (All objects that +** can become gray have such a field. The field is not the same +** in all objects, but it always has this name.) Any gray object +** must belong to one of these lists, and all objects in these lists +** must be gray: +** +** 'gray': regular gray objects, still waiting to be visited. +** 'grayagain': objects that must be revisited at the atomic phase. +** That includes +** - black objects got in a write barrier; +** - all kinds of weak tables during propagation phase; +** - all threads. +** 'weak': tables with weak values to be cleared; +** 'ephemeron': ephemeron tables with white->white entries; +** 'allweak': tables with weak keys and/or weak values to be cleared. +** The last three lists are used only during the atomic phase. */ |