aboutsummaryrefslogtreecommitdiff
path: root/lgc.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2009-04-28 16:04:36 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2009-04-28 16:04:36 -0300
commite091a254dfe4521d837469d3ae7cc329e2df3376 (patch)
tree7ee2f1c83a9a07500b6826bb55f0f1e977785d02 /lgc.h
parent58c3aa8b5f51194980a9abf463a2648bb1413925 (diff)
downloadlua-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.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/lgc.h b/lgc.h
index 1f6ba08e..386239fe 100644
--- a/lgc.h
+++ b/lgc.h
@@ -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)