Treat the tag of a TValue as unsigned everywhere.

This commit is contained in:
Mike Pall
2010-04-25 23:21:15 +02:00
parent f396f3d192
commit 41379126a2
7 changed files with 39 additions and 40 deletions

View File

@@ -386,11 +386,11 @@ static LJ_AINLINE IRType itype2irt(const TValue *tv)
return IRT_LIGHTUD;
#endif
else
return cast(IRType, ~uitype(tv));
return cast(IRType, ~itype(tv));
}
#define irt_toitype(t) \
check_exp(!(LJ_64 && irt_islightud((t))), (int32_t)~(uint32_t)irt_type((t)))
check_exp(!(LJ_64 && irt_islightud((t))), ~(uint32_t)irt_type((t)))
#define irt_isguard(t) ((t).irt & IRT_GUARD)
#define irt_ismarked(t) ((t).irt & IRT_MARK)