diff options
Diffstat (limited to 'ldump.c')
-rw-r--r-- | ldump.c | 18 |
1 files changed, 8 insertions, 10 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ldump.c,v 1.4 2003/02/11 23:52:12 lhf Exp $ | 2 | ** $Id: ldump.c,v 1.4 2003/02/11 23:52:12 lhf Exp lhf $ |
3 | ** save bytecodes | 3 | ** save bytecodes |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -22,6 +22,7 @@ typedef struct { | |||
22 | lua_State* L; | 22 | lua_State* L; |
23 | lua_Chunkwriter write; | 23 | lua_Chunkwriter write; |
24 | void* data; | 24 | void* data; |
25 | int strip; | ||
25 | } DumpState; | 26 | } DumpState; |
26 | 27 | ||
27 | static void DumpBlock(const void* b, size_t size, DumpState* D) | 28 | static void DumpBlock(const void* b, size_t size, DumpState* D) |
@@ -132,9 +133,9 @@ static void DumpFunction(const Proto* f, const TString* p, DumpState* D) | |||
132 | DumpByte(f->numparams,D); | 133 | DumpByte(f->numparams,D); |
133 | DumpByte(f->is_vararg,D); | 134 | DumpByte(f->is_vararg,D); |
134 | DumpByte(f->maxstacksize,D); | 135 | DumpByte(f->maxstacksize,D); |
135 | DumpLines(f,D); | 136 | if (D->strip) DumpInt(0,D); else DumpLines(f,D); |
136 | DumpLocals(f,D); | 137 | if (D->strip) DumpInt(0,D); else DumpLocals(f,D); |
137 | DumpUpvalues(f,D); | 138 | if (D->strip) DumpInt(0,D); else DumpUpvalues(f,D); |
138 | DumpConstants(f,D); | 139 | DumpConstants(f,D); |
139 | DumpCode(f,D); | 140 | DumpCode(f,D); |
140 | } | 141 | } |
@@ -147,10 +148,6 @@ static void DumpHeader(DumpState* D) | |||
147 | DumpByte(sizeof(int),D); | 148 | DumpByte(sizeof(int),D); |
148 | DumpByte(sizeof(size_t),D); | 149 | DumpByte(sizeof(size_t),D); |
149 | DumpByte(sizeof(Instruction),D); | 150 | DumpByte(sizeof(Instruction),D); |
150 | DumpByte(SIZE_OP,D); | ||
151 | DumpByte(SIZE_A,D); | ||
152 | DumpByte(SIZE_B,D); | ||
153 | DumpByte(SIZE_C,D); | ||
154 | DumpByte(sizeof(lua_Number),D); | 151 | DumpByte(sizeof(lua_Number),D); |
155 | DumpNumber(TEST_NUMBER,D); | 152 | DumpNumber(TEST_NUMBER,D); |
156 | } | 153 | } |
@@ -158,13 +155,14 @@ static void DumpHeader(DumpState* D) | |||
158 | /* | 155 | /* |
159 | ** dump function as precompiled chunk | 156 | ** dump function as precompiled chunk |
160 | */ | 157 | */ |
161 | void luaU_dump (lua_State* L, const Proto* Main, lua_Chunkwriter w, void* data) | 158 | int luaU_dump (lua_State* L, const Proto* Main, lua_Chunkwriter w, void* data, int strip) |
162 | { | 159 | { |
163 | DumpState D; | 160 | DumpState D; |
164 | D.L=L; | 161 | D.L=L; |
165 | D.write=w; | 162 | D.write=w; |
166 | D.data=data; | 163 | D.data=data; |
164 | D.strip=strip; | ||
167 | DumpHeader(&D); | 165 | DumpHeader(&D); |
168 | DumpFunction(Main,NULL,&D); | 166 | DumpFunction(Main,NULL,&D); |
167 | return 1; | ||
169 | } | 168 | } |
170 | |||