diff options
author | Mike Pall <mike> | 2010-01-09 22:41:08 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-01-09 22:41:08 +0100 |
commit | 2cc554db0cb37ac3600cccab97c657bb532e3c4e (patch) | |
tree | 63a33cbded818524d9e4c1166a8542e933b38fd0 /src/lj_parse.c | |
parent | a33204ae5eae25291f003c386ab993278194b96b (diff) | |
download | luajit-2cc554db0cb37ac3600cccab97c657bb532e3c4e.tar.gz luajit-2cc554db0cb37ac3600cccab97c657bb532e3c4e.tar.bz2 luajit-2cc554db0cb37ac3600cccab97c657bb532e3c4e.zip |
Avoid int16_t widening for pt->uv elements.
Diffstat (limited to '')
-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 | ||