diff options
Diffstat (limited to 'src/lj_parse.c')
-rw-r--r-- | src/lj_parse.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lj_parse.c b/src/lj_parse.c index 81416f0f..8e94faa4 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c | |||
@@ -1014,7 +1014,7 @@ static uint32_t indexupvalue(FuncState *fs, GCstr *name, ExpDesc *v) | |||
1014 | uint32_t i; | 1014 | uint32_t i; |
1015 | GCproto *pt = fs->pt; | 1015 | GCproto *pt = fs->pt; |
1016 | for (i = 0; i < fs->nuv; i++) { | 1016 | for (i = 0; i < fs->nuv; i++) { |
1017 | if (fs->upvalues[i].k == v->k && fs->upvalues[i].info == v->u.s.info) { | 1017 | if (fs->upvalues[i].info == v->u.s.info && fs->upvalues[i].k == v->k) { |
1018 | lua_assert(pt->uvname[i] == name); | 1018 | lua_assert(pt->uvname[i] == name); |
1019 | return i; | 1019 | return i; |
1020 | } | 1020 | } |
@@ -1171,12 +1171,12 @@ static void collectk(FuncState *fs, GCproto *pt) | |||
1171 | static void collectuv(FuncState *fs, GCproto *pt) | 1171 | static void collectuv(FuncState *fs, GCproto *pt) |
1172 | { | 1172 | { |
1173 | uint32_t i; | 1173 | uint32_t i; |
1174 | pt->uv = lj_mem_newvec(fs->L, fs->nuv, int16_t); | 1174 | pt->uv = lj_mem_newvec(fs->L, fs->nuv, uint16_t); |
1175 | pt->sizeuv = fs->nuv; | 1175 | pt->sizeuv = fs->nuv; |
1176 | for (i = 0; i < pt->sizeuv; i++) { | 1176 | for (i = 0; i < pt->sizeuv; i++) { |
1177 | uint32_t v = fs->upvalues[i].info; | 1177 | uint32_t v = fs->upvalues[i].info; |
1178 | if (fs->upvalues[i].k == VUPVAL) v = ~v; | 1178 | if (fs->upvalues[i].k == VLOCAL) v |= 0x8000; |
1179 | pt->uv[i] = (int16_t)v; | 1179 | pt->uv[i] = (uint16_t)v; |
1180 | } | 1180 | } |
1181 | } | 1181 | } |
1182 | 1182 | ||