summaryrefslogtreecommitdiff
path: root/lstate.h
diff options
context:
space:
mode:
Diffstat (limited to 'lstate.h')
-rw-r--r--lstate.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/lstate.h b/lstate.h
index 9985545e..56b37410 100644
--- a/lstate.h
+++ b/lstate.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lstate.h,v 2.132 2016/10/19 12:31:42 roberto Exp roberto $ 2** $Id: lstate.h,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $
3** Global State 3** Global State
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -26,6 +26,24 @@
26** 'tobefnz': all objects ready to be finalized; 26** 'tobefnz': all objects ready to be finalized;
27** 'fixedgc': all objects that are not to be collected (currently 27** 'fixedgc': all objects that are not to be collected (currently
28** only small strings, such as reserved words). 28** only small strings, such as reserved words).
29**
30** Moreover, there is another set of lists that control gray objects.
31** These lists are linked by fields 'gclist'. (All objects that
32** can become gray have such a field. The field is not the same
33** in all objects, but it always has this name.) Any gray object
34** must belong to one of these lists, and all objects in these lists
35** must be gray:
36**
37** 'gray': regular gray objects, still waiting to be visited.
38** 'grayagain': objects that must be revisited at the atomic phase.
39** That includes
40** - black objects got in a write barrier;
41** - all kinds of weak tables during propagation phase;
42** - all threads.
43** 'weak': tables with weak values to be cleared;
44** 'ephemeron': ephemeron tables with white->white entries;
45** 'allweak': tables with weak keys and/or weak values to be cleared.
46** The last three lists are used only during the atomic phase.
29 47
30*/ 48*/
31 49