diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2009-04-28 16:04:36 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2009-04-28 16:04:36 -0300 |
commit | e091a254dfe4521d837469d3ae7cc329e2df3376 (patch) | |
tree | 7ee2f1c83a9a07500b6826bb55f0f1e977785d02 /lgc.h | |
parent | 58c3aa8b5f51194980a9abf463a2648bb1413925 (diff) | |
download | lua-e091a254dfe4521d837469d3ae7cc329e2df3376.tar.gz lua-e091a254dfe4521d837469d3ae7cc329e2df3376.tar.bz2 lua-e091a254dfe4521d837469d3ae7cc329e2df3376.zip |
new way to GC stacks: the entire stack must be correct all the times;
the 'dead' part of a stack (after the top) must have only nil's, so
that 'top' may go up without cleaning the stack.
Diffstat (limited to 'lgc.h')
-rw-r--r-- | lgc.h | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lgc.h,v 2.18 2008/02/19 18:55:09 roberto Exp roberto $ | 2 | ** $Id: lgc.h,v 2.19 2008/06/26 19:42:45 roberto Exp roberto $ |
3 | ** Garbage Collector | 3 | ** Garbage Collector |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -16,9 +16,10 @@ | |||
16 | */ | 16 | */ |
17 | #define GCSpause 0 | 17 | #define GCSpause 0 |
18 | #define GCSpropagate 1 | 18 | #define GCSpropagate 1 |
19 | #define GCSsweepstring 2 | 19 | #define GCSatomic 2 |
20 | #define GCSsweep 3 | 20 | #define GCSsweepstring 3 |
21 | #define GCSfinalize 4 | 21 | #define GCSsweep 4 |
22 | #define GCSfinalize 5 | ||
22 | 23 | ||
23 | 24 | ||
24 | #define issweep(g) (GCSsweepstring <= (g)->gcstate && (g)->gcstate <= GCSsweep) | 25 | #define issweep(g) (GCSsweepstring <= (g)->gcstate && (g)->gcstate <= GCSsweep) |