diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-01-25 20:14:54 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-01-25 20:14:54 -0200 |
commit | 50e29525936be4891f9db090f293432913b5f7c0 (patch) | |
tree | 8e487b87f82761e15cd096ac345354f57f38fedc /lstate.h | |
parent | b217ae644e3a83def93be2fe742e2cd0970e1a5f (diff) | |
download | lua-50e29525936be4891f9db090f293432913b5f7c0.tar.gz lua-50e29525936be4891f9db090f293432913b5f7c0.tar.bz2 lua-50e29525936be4891f9db090f293432913b5f7c0.zip |
first version of dynamic stack
Diffstat (limited to 'lstate.h')
-rw-r--r-- | lstate.h | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -64,8 +64,17 @@ struct lua_longjmp; /* defined in ldo.c */ | |||
64 | 64 | ||
65 | #define RESERVED_STACK_PREFIX 3 | 65 | #define RESERVED_STACK_PREFIX 3 |
66 | 66 | ||
67 | /* space to handle stack overflow errors */ | 67 | |
68 | #define EXTRA_STACK (2*LUA_MINSTACK) | 68 | /* space to handle TM calls */ |
69 | #define EXTRA_STACK 4 | ||
70 | |||
71 | |||
72 | #define BASIC_CI_SIZE 6 | ||
73 | |||
74 | #define BASIC_STACK_SIZE (2*LUA_MINSTACK) | ||
75 | |||
76 | #define DEFAULT_MAXSTACK 12000 | ||
77 | |||
69 | 78 | ||
70 | 79 | ||
71 | 80 | ||
@@ -84,6 +93,7 @@ typedef struct CallInfo { | |||
84 | const Instruction *savedpc; | 93 | const Instruction *savedpc; |
85 | StkId top; /* top for this function (when it's a Lua function) */ | 94 | StkId top; /* top for this function (when it's a Lua function) */ |
86 | const Instruction **pc; | 95 | const Instruction **pc; |
96 | StkId *pb; | ||
87 | /* extra information for line tracing */ | 97 | /* extra information for line tracing */ |
88 | int lastpc; /* last pc traced */ | 98 | int lastpc; /* last pc traced */ |
89 | int line; /* current line */ | 99 | int line; /* current line */ |
@@ -124,6 +134,7 @@ struct lua_State { | |||
124 | StkId stack_last; /* last free slot in the stack */ | 134 | StkId stack_last; /* last free slot in the stack */ |
125 | StkId stack; /* stack base */ | 135 | StkId stack; /* stack base */ |
126 | int stacksize; | 136 | int stacksize; |
137 | int maxstacksize; | ||
127 | CallInfo *end_ci; /* points after end of ci array*/ | 138 | CallInfo *end_ci; /* points after end of ci array*/ |
128 | CallInfo *base_ci; /* array of CallInfo's */ | 139 | CallInfo *base_ci; /* array of CallInfo's */ |
129 | int size_ci; /* size of array `base_ci' */ | 140 | int size_ci; /* size of array `base_ci' */ |