summaryrefslogtreecommitdiff
path: root/src/lj_parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_parse.c')
-rw-r--r--src/lj_parse.c8
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)
1171static void collectuv(FuncState *fs, GCproto *pt) 1171static 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