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 | |||
