From 889368e921a11e2abb3769e2c1f395174e83112d Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Thu, 10 Mar 2011 02:13:43 +0100 Subject: [PATCH] Get rid of the remaining silly cast macros from Lua. --- src/buildvm_x64.h | 10 +++++----- src/buildvm_x64win.h | 10 +++++----- src/buildvm_x86.dasc | 2 +- src/buildvm_x86.h | 10 +++++----- src/lj_api.c | 4 ++-- src/lj_bc.h | 27 +++++++++++++-------------- src/lj_cparse.c | 2 +- src/lj_def.h | 6 ------ src/lj_func.c | 4 ++-- src/lj_gc.c | 14 +++++++------- src/lj_ir.c | 2 +- src/lj_lex.c | 2 +- src/lj_meta.c | 8 ++++---- src/lj_opt_fold.c | 12 ++++++------ src/lj_state.c | 2 +- src/lj_str.c | 2 +- src/lj_tab.c | 6 +++--- 17 files changed, 58 insertions(+), 65 deletions(-) diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h index 801345d5..1d2b8b44 100644 --- a/src/buildvm_x64.h +++ b/src/buildvm_x64.h @@ -1215,7 +1215,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) dasm_put(Dst, 1850, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); dasm_put(Dst, 1929, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); dasm_put(Dst, 1987, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); - dasm_put(Dst, 2056, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK)); + dasm_put(Dst, 2056, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK); dasm_put(Dst, 2125, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); if (LJ_DUALNUM) { dasm_put(Dst, 2211); @@ -2633,21 +2633,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) dasm_put(Dst, 13339); } dasm_put(Dst, 13344, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 13425, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; case BC_TSETS: dasm_put(Dst, 13484, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); dasm_put(Dst, 13561, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<next)); - dasm_put(Dst, 13648, Dt6(->metatable), Dt6(->nomm), 1<base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 13648, Dt6(->metatable), Dt6(->nomm), 1<base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; case BC_TSETB: dasm_put(Dst, 13740, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); - dasm_put(Dst, 13835, Dt6(->metatable), Dt6(->nomm), 1<marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 13835, Dt6(->metatable), Dt6(->nomm), 1<marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; case BC_TSETM: dasm_put(Dst, 13883, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); - dasm_put(Dst, 14033, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 14033, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; /* -- Calls and vararg handling ----------------------------------------- */ diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index 5c19f6de..7bed2e94 100644 --- a/src/buildvm_x64win.h +++ b/src/buildvm_x64win.h @@ -1213,7 +1213,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) dasm_put(Dst, 1827, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); dasm_put(Dst, 1906, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); dasm_put(Dst, 1963, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); - dasm_put(Dst, 2031, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK)); + dasm_put(Dst, 2031, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK); dasm_put(Dst, 2100, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); if (LJ_DUALNUM) { dasm_put(Dst, 2185); @@ -2632,21 +2632,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) dasm_put(Dst, 13221); } dasm_put(Dst, 13226, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 13306, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; case BC_TSETS: dasm_put(Dst, 13363, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); dasm_put(Dst, 13439, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<next)); - dasm_put(Dst, 13527, Dt6(->metatable), Dt6(->nomm), 1<base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 13527, Dt6(->metatable), Dt6(->nomm), 1<base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; case BC_TSETB: dasm_put(Dst, 13618, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); - dasm_put(Dst, 13712, Dt6(->metatable), Dt6(->nomm), 1<marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 13712, Dt6(->metatable), Dt6(->nomm), 1<marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; case BC_TSETM: dasm_put(Dst, 13758, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); - dasm_put(Dst, 13901, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 13901, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; /* -- Calls and vararg handling ----------------------------------------- */ diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index 17dcae2d..6b2dc877 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc @@ -400,7 +400,7 @@ | |// Move table write barrier back. Overwrites reg. |.macro barrierback, tab, reg -| and byte tab->marked, cast_byte(~LJ_GC_BLACK) // black2gray(tab) +| and byte tab->marked, (uint8_t)~LJ_GC_BLACK // black2gray(tab) | mov reg, [DISPATCH+DISPATCH_GL(gc.grayagain)] | mov [DISPATCH+DISPATCH_GL(gc.grayagain)], tab | mov tab->gclist, reg diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h index bc2ef125..a49b3dd5 100644 --- a/src/buildvm_x86.h +++ b/src/buildvm_x86.h @@ -1264,7 +1264,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) dasm_put(Dst, 1837, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); dasm_put(Dst, 1920, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); dasm_put(Dst, 1978, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); - dasm_put(Dst, 2041, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 2041, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); dasm_put(Dst, 2113, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); if (LJ_DUALNUM) { dasm_put(Dst, 2202); @@ -2791,21 +2791,21 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) dasm_put(Dst, 14358); } dasm_put(Dst, 14363, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 14447, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; case BC_TSETS: dasm_put(Dst, 14504, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); dasm_put(Dst, 14579, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<next)); - dasm_put(Dst, 14671, Dt6(->metatable), Dt6(->nomm), 1<base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 14671, Dt6(->metatable), Dt6(->nomm), 1<base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; case BC_TSETB: dasm_put(Dst, 14767, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); - dasm_put(Dst, 14865, Dt6(->metatable), Dt6(->nomm), 1<marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 14865, Dt6(->metatable), Dt6(->nomm), 1<marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; case BC_TSETM: dasm_put(Dst, 14911, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); - dasm_put(Dst, 15060, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); + dasm_put(Dst, 15060, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); break; /* -- Calls and vararg handling ----------------------------------------- */ diff --git a/src/lj_api.c b/src/lj_api.c index 10f9f3cb..70834f8d 100644 --- a/src/lj_api.c +++ b/src/lj_api.c @@ -500,7 +500,7 @@ LUA_API size_t lua_objlen(lua_State *L, int idx) if (tvisstr(o)) return strV(o)->len; else if (tvistab(o)) - return cast(size_t, lj_tab_len(tabV(o))); + return (size_t)lj_tab_len(tabV(o)); else if (tvisudata(o)) return udataV(o)->len; else if (tvisnumber(o)) @@ -1129,7 +1129,7 @@ LUA_API int lua_resume(lua_State *L, int nargs) static TValue *cpparser(lua_State *L, lua_CFunction dummy, void *ud) { - LexState *ls = cast(LexState *, ud); + LexState *ls = (LexState *)ud; GCfunc *fn; UNUSED(dummy); cframe_errfunc(L->cframe) = -1; /* Inherit error function. */ diff --git a/src/lj_bc.h b/src/lj_bc.h index 9dffe0c0..97e4d926 100644 --- a/src/lj_bc.h +++ b/src/lj_bc.h @@ -31,30 +31,29 @@ #define NO_JMP (~(BCPos)0) /* Macros to get instruction fields. */ -#define bc_op(i) (cast(BCOp, (i)&0xff)) -#define bc_a(i) (cast(BCReg, ((i)>>8)&0xff)) -#define bc_b(i) (cast(BCReg, (i)>>24)) -#define bc_c(i) (cast(BCReg, ((i)>>16)&0xff)) -#define bc_d(i) (cast(BCReg, (i)>>16)) +#define bc_op(i) ((BCOp)((i)&0xff)) +#define bc_a(i) ((BCReg)(((i)>>8)&0xff)) +#define bc_b(i) ((BCReg)((i)>>24)) +#define bc_c(i) ((BCReg)(((i)>>16)&0xff)) +#define bc_d(i) ((BCReg)((i)>>16)) #define bc_j(i) ((ptrdiff_t)bc_d(i)-BCBIAS_J) /* Macros to set instruction fields. */ #define setbc_byte(p, x, ofs) \ - ((uint8_t *)(p))[LJ_ENDIAN_SELECT(ofs, 3-ofs)] = cast_byte(x) + ((uint8_t *)(p))[LJ_ENDIAN_SELECT(ofs, 3-ofs)] = (uint8_t)(x) #define setbc_op(p, x) setbc_byte(p, (x), 0) #define setbc_a(p, x) setbc_byte(p, (x), 1) #define setbc_b(p, x) setbc_byte(p, (x), 3) #define setbc_c(p, x) setbc_byte(p, (x), 2) #define setbc_d(p, x) \ - ((uint16_t *)(p))[LJ_ENDIAN_SELECT(1, 0)] = cast(uint16_t, (x)) + ((uint16_t *)(p))[LJ_ENDIAN_SELECT(1, 0)] = (uint16_t)(x) #define setbc_j(p, x) setbc_d(p, (BCPos)((int32_t)(x)+BCBIAS_J)) /* Macros to compose instructions. */ #define BCINS_ABC(o, a, b, c) \ - (cast(BCIns, o)|(cast(BCIns, a)<<8)|\ - (cast(BCIns, b)<<24)|(cast(BCIns, c)<<16)) + (((BCIns)(o))|((BCIns)(a)<<8)|((BCIns)(b)<<24)|((BCIns)(c)<<16)) #define BCINS_AD(o, a, d) \ - (cast(BCIns, o)|(cast(BCIns, a)<<8)|(cast(BCIns, d)<<16)) + (((BCIns)(o))|((BCIns)(a)<<8)|((BCIns)(d)<<16)) #define BCINS_AJ(o, a, j) BCINS_AD(o, a, (BCPos)((int32_t)(j)+BCBIAS_J)) /* Bytecode instruction definition. Order matters, see below. @@ -240,12 +239,12 @@ typedef enum { } BCMode; #define BCM___ BCMnone -#define bcmode_a(op) (cast(BCMode, lj_bc_mode[op] & 7)) -#define bcmode_b(op) (cast(BCMode, (lj_bc_mode[op]>>3) & 15)) -#define bcmode_c(op) (cast(BCMode, (lj_bc_mode[op]>>7) & 15)) +#define bcmode_a(op) ((BCMode)(lj_bc_mode[op] & 7)) +#define bcmode_b(op) ((BCMode)((lj_bc_mode[op]>>3) & 15)) +#define bcmode_c(op) ((BCMode)((lj_bc_mode[op]>>7) & 15)) #define bcmode_d(op) bcmode_c(op) #define bcmode_hasd(op) ((lj_bc_mode[op] & (15<<3)) == (BCMnone<<3)) -#define bcmode_mm(op) (cast(MMS, lj_bc_mode[op]>>11)) +#define bcmode_mm(op) ((MMS)(lj_bc_mode[op]>>11)) #define BCMODE(name, ma, mb, mc, mm) \ (BCM##ma|(BCM##mb<<3)|(BCM##mc<<7)|(MM_##mm<<11)), diff --git a/src/lj_cparse.c b/src/lj_cparse.c index 7da4d12d..eadb38bb 100644 --- a/src/lj_cparse.c +++ b/src/lj_cparse.c @@ -1803,7 +1803,7 @@ static void cp_decl_single(CPState *cp) /* Protected callback for C parser. */ static TValue *cpcparser(lua_State *L, lua_CFunction dummy, void *ud) { - CPState *cp = cast(CPState *, ud); + CPState *cp = (CPState *)ud; UNUSED(dummy); cframe_errfunc(L->cframe) = -1; /* Inherit error function. */ cp_init(cp); diff --git a/src/lj_def.h b/src/lj_def.h index f6f03318..b7df8606 100644 --- a/src/lj_def.h +++ b/src/lj_def.h @@ -74,13 +74,7 @@ typedef unsigned __int32 uintptr_t; #define UNUSED(x) ((void)(x)) /* to avoid warnings */ #endif -#ifndef cast -#define cast(t, exp) ((t)(exp)) -#endif - #define U64x(hi, lo) (((uint64_t)0x##hi << 32) + (uint64_t)0x##lo) -#define cast_byte(i) cast(uint8_t, (i)) -#define cast_num(i) cast(lua_Number, (i)) #define i32ptr(p) ((int32_t)(intptr_t)(void *)(p)) #define u32ptr(p) ((uint32_t)(intptr_t)(void *)(p)) diff --git a/src/lj_func.c b/src/lj_func.c index b3564091..d7d37802 100644 --- a/src/lj_func.c +++ b/src/lj_func.c @@ -95,7 +95,7 @@ void LJ_FASTCALL lj_func_freeuv(global_State *g, GCupval *uv) GCfunc *lj_func_newC(lua_State *L, MSize nelems, GCtab *env) { - GCfunc *fn = cast(GCfunc *, lj_mem_newgco(L, sizeCfunc(nelems))); + GCfunc *fn = (GCfunc *)lj_mem_newgco(L, sizeCfunc(nelems)); fn->c.gct = ~LJ_TFUNC; fn->c.ffid = FF_C; fn->c.nupvalues = (uint8_t)nelems; @@ -107,7 +107,7 @@ GCfunc *lj_func_newC(lua_State *L, MSize nelems, GCtab *env) GCfunc *lj_func_newL(lua_State *L, GCproto *pt, GCtab *env) { - GCfunc *fn = cast(GCfunc *, lj_mem_newgco(L, sizeLfunc((MSize)pt->sizeuv))); + GCfunc *fn = (GCfunc *)lj_mem_newgco(L, sizeLfunc((MSize)pt->sizeuv)); fn->l.gct = ~LJ_TFUNC; fn->l.ffid = FF_LUA; fn->l.nupvalues = (uint8_t)pt->sizeuv; diff --git a/src/lj_gc.c b/src/lj_gc.c index f231b1ce..bc6d843a 100644 --- a/src/lj_gc.c +++ b/src/lj_gc.c @@ -32,11 +32,11 @@ #define GCFINALIZECOST 100 /* Macros to set GCobj colors and flags. */ -#define white2gray(x) ((x)->gch.marked &= cast_byte(~LJ_GC_WHITES)) -#define black2gray(x) ((x)->gch.marked &= cast_byte(~LJ_GC_BLACK)) +#define white2gray(x) ((x)->gch.marked &= (uint8_t)~LJ_GC_WHITES) +#define black2gray(x) ((x)->gch.marked &= (uint8_t)~LJ_GC_BLACK) #define gray2black(x) ((x)->gch.marked |= LJ_GC_BLACK) #define makewhite(g, x) \ - ((x)->gch.marked = ((x)->gch.marked & cast_byte(~LJ_GC_COLORS)) | curwhite(g)) + ((x)->gch.marked = ((x)->gch.marked & (uint8_t)~LJ_GC_COLORS) | curwhite(g)) #define isfinalized(u) ((u)->marked & LJ_GC_FINALIZED) #define markfinalized(u) ((u)->marked |= LJ_GC_FINALIZED) @@ -52,7 +52,7 @@ { if (iswhite(obj2gco(o))) gc_mark(g, obj2gco(o)); } /* Mark a string object. */ -#define gc_mark_str(s) ((s)->marked &= cast_byte(~LJ_GC_WHITES)) +#define gc_mark_str(s) ((s)->marked &= (uint8_t)~LJ_GC_WHITES) /* Mark a white GCobj. */ static void gc_mark(global_State *g, GCobj *o) @@ -174,7 +174,7 @@ static int gc_traverse_tab(global_State *g, GCtab *t) else if (c == 'K') weak = (int)(~0u & ~LJ_GC_WEAKVAL); } if (weak > 0) { /* Weak tables are cleared in the atomic phase. */ - t->marked = cast_byte((t->marked & ~LJ_GC_WEAK) | weak); + t->marked = (uint8_t)((t->marked & ~LJ_GC_WEAK) | weak); setgcrefr(t->gclist, g->gc.weak); setgcref(g->gc.weak, obj2gco(t)); } @@ -594,7 +594,7 @@ static void atomic(global_State *g, lua_State *L) gc_clearweak(gcref(g->gc.weak)); /* Prepare for sweep phase. */ - g->gc.currentwhite = cast_byte(otherwhite(g)); /* Flip current white. */ + g->gc.currentwhite = (uint8_t)otherwhite(g); /* Flip current white. */ g->strempty.marked = g->gc.currentwhite; setmref(g->gc.sweep, &g->gc.root); g->gc.estimate = g->gc.total - (MSize)udsize; /* Initial estimate. */ @@ -772,7 +772,7 @@ void LJ_FASTCALL lj_gc_barrieruv(global_State *g, TValue *tv) if (g->gc.state == GCSpropagate || g->gc.state == GCSatomic) gc_mark(g, gcV(tv)); else - TV2MARKED(tv) = (TV2MARKED(tv) & cast_byte(~LJ_GC_COLORS)) | curwhite(g); + TV2MARKED(tv) = (TV2MARKED(tv) & (uint8_t)~LJ_GC_COLORS) | curwhite(g); #undef TV2MARKED } diff --git a/src/lj_ir.c b/src/lj_ir.c index 721cfd0f..64467758 100644 --- a/src/lj_ir.c +++ b/src/lj_ir.c @@ -267,7 +267,7 @@ TRef lj_ir_kint64(jit_State *J, uint64_t u64) static int numistrueint(lua_Number n, int32_t *kp) { int32_t k = lj_num2int(n); - if (n == cast_num(k)) { + if (n == (lua_Number)k) { if (kp) *kp = k; if (k == 0) { /* Special check for -0. */ TValue tv; diff --git a/src/lj_lex.c b/src/lj_lex.c index 78458572..bc029761 100644 --- a/src/lj_lex.c +++ b/src/lj_lex.c @@ -36,7 +36,7 @@ TKDEF(TKSTR1, TKSTR2) /* -- Buffer handling ----------------------------------------------------- */ -#define char2int(c) cast(int, cast(uint8_t, (c))) +#define char2int(c) ((int)(uint8_t)(c)) #define next(ls) \ (ls->current = (ls->n--) > 0 ? char2int(*ls->p++) : fillbuf(ls)) #define save_and_next(ls) (save(ls, ls->current), next(ls)) diff --git a/src/lj_meta.c b/src/lj_meta.c index 48cee510..22301db7 100644 --- a/src/lj_meta.c +++ b/src/lj_meta.c @@ -291,7 +291,7 @@ TValue *lj_meta_equal(lua_State *L, GCobj *o1, GCobj *o2, int ne) if (tabref(o1->gch.metatable) != tabref(o2->gch.metatable)) { cTValue *mo2 = lj_meta_fast(L, tabref(o2->gch.metatable), MM_eq); if (mo2 == NULL || !lj_obj_equal(mo, mo2)) - return cast(TValue *, (intptr_t)ne); + return (TValue *)(intptr_t)ne; } top = curr_top(L); setcont(top, ne ? lj_cont_condf : lj_cont_condt); @@ -301,7 +301,7 @@ TValue *lj_meta_equal(lua_State *L, GCobj *o1, GCobj *o2, int ne) setgcV(L, top+3, o2, it); return top+2; /* Trigger metamethod call. */ } - return cast(TValue *, (intptr_t)ne); + return (TValue *)(intptr_t)ne; } #if LJ_HASFFI @@ -329,7 +329,7 @@ TValue * LJ_FASTCALL lj_meta_equal_cd(lua_State *L, BCIns ins) if (LJ_LIKELY(!tvisnil(mo))) return mmcall(L, cont, mo, o1, o2); else - return cast(TValue *, (intptr_t)(bc_op(ins) & 1)); + return (TValue *)(intptr_t)(bc_op(ins) & 1); } #endif @@ -345,7 +345,7 @@ TValue *lj_meta_comp(lua_State *L, cTValue *o1, cTValue *o2, int op) } else if (itype(o1) == itype(o2)) { /* Never called with two numbers. */ if (tvisstr(o1) && tvisstr(o2)) { int32_t res = lj_str_cmp(strV(o1), strV(o2)); - return cast(TValue *, (intptr_t)(((op&2) ? res <= 0 : res < 0) ^ (op&1))); + return (TValue *)(intptr_t)(((op&2) ? res <= 0 : res < 0) ^ (op&1)); } else { trymt: while (1) { diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index e2d5c517..eb500db9 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c @@ -189,7 +189,7 @@ LJFOLD(POW KNUM KINT) LJFOLDF(kfold_numpow) { lua_Number a = knumleft; - lua_Number b = cast_num(fright->i); + lua_Number b = (lua_Number)fright->i; lua_Number y = lj_vm_foldarith(a, b, IR_POW - IR_ADD); return lj_ir_knum(J, y); } @@ -545,13 +545,13 @@ LJFOLDF(kfold_tobit) LJFOLD(CONV KINT IRCONV_NUM_INT) LJFOLDF(kfold_conv_kint_num) { - return lj_ir_knum(J, cast_num(fleft->i)); + return lj_ir_knum(J, (lua_Number)fleft->i); } LJFOLD(CONV KINT IRCONV_NUM_U32) LJFOLDF(kfold_conv_kintu32_num) { - return lj_ir_knum(J, cast_num((uint32_t)fleft->i)); + return lj_ir_knum(J, (lua_Number)(uint32_t)fleft->i); } LJFOLD(CONV KINT IRCONV_I64_INT) @@ -567,13 +567,13 @@ LJFOLDF(kfold_conv_kint_i64) LJFOLD(CONV KINT64 IRCONV_NUM_I64) LJFOLDF(kfold_conv_kint64_num_i64) { - return lj_ir_knum(J, cast_num((int64_t)ir_kint64(fleft)->u64)); + return lj_ir_knum(J, (lua_Number)(int64_t)ir_kint64(fleft)->u64); } LJFOLD(CONV KINT64 IRCONV_NUM_U64) LJFOLDF(kfold_conv_kint64_num_u64) { - return lj_ir_knum(J, cast_num(ir_kint64(fleft)->u64)); + return lj_ir_knum(J, (lua_Number)ir_kint64(fleft)->u64); } LJFOLD(CONV KINT64 IRCONV_INT_I64) @@ -589,7 +589,7 @@ LJFOLDF(kfold_conv_knum_int_num) lua_Number n = knumleft; if (!(fins->op2 & IRCONV_TRUNC)) { int32_t k = lj_num2int(n); - if (irt_isguard(fins->t) && n != cast_num(k)) { + if (irt_isguard(fins->t) && n != (lua_Number)k) { /* We're about to create a guard which always fails, like CONV +1.5. ** Some pathological loops cause this during LICM, e.g.: ** local x,k,t = 0,1.5,{1,[1.5]=2} diff --git a/src/lj_state.c b/src/lj_state.c index 11b820b2..cd138f71 100644 --- a/src/lj_state.c +++ b/src/lj_state.c @@ -181,7 +181,7 @@ lua_State *lj_state_newstate(lua_Alloc f, void *ud) LUA_API lua_State *lua_newstate(lua_Alloc f, void *ud) #endif { - GG_State *GG = cast(GG_State *, f(ud, NULL, 0, sizeof(GG_State))); + GG_State *GG = (GG_State *)f(ud, NULL, 0, sizeof(GG_State)); lua_State *L = &GG->L; global_State *g = &GG->g; if (GG == NULL || !checkptr32(GG)) return NULL; diff --git a/src/lj_str.c b/src/lj_str.c index febe6fbf..9e9650a2 100644 --- a/src/lj_str.c +++ b/src/lj_str.c @@ -316,7 +316,7 @@ static void addchar(lua_State *L, SBuf *sb, int c) MSize sz = sb->sz * 2; lj_str_resizebuf(L, sb, sz); } - sb->buf[sb->n++] = cast(char, c); + sb->buf[sb->n++] = (char)c; } /* Push formatted message as a string object to Lua stack. va_list variant. */ diff --git a/src/lj_tab.c b/src/lj_tab.c index c8e4efe1..830e3023 100644 --- a/src/lj_tab.c +++ b/src/lj_tab.c @@ -580,20 +580,20 @@ static MSize unbound_search(GCtab *t, MSize j) MSize i = j; /* i is zero or a present index */ j++; /* find `i' and `j' such that i is present and j is not */ - while ((tv = lj_tab_getint(t, cast(int32_t, j))) && !tvisnil(tv)) { + while ((tv = lj_tab_getint(t, (int32_t)j)) && !tvisnil(tv)) { i = j; j *= 2; if (j > (MSize)(INT_MAX-2)) { /* overflow? */ /* table was built with bad purposes: resort to linear search */ i = 1; - while ((tv = lj_tab_getint(t, cast(int32_t, i))) && !tvisnil(tv)) i++; + while ((tv = lj_tab_getint(t, (int32_t)i)) && !tvisnil(tv)) i++; return i - 1; } } /* now do a binary search between them */ while (j - i > 1) { MSize m = (i+j)/2; - cTValue *tvb = lj_tab_getint(t, cast(int32_t, m)); + cTValue *tvb = lj_tab_getint(t, (int32_t)m); if (tvb && !tvisnil(tvb)) i = m; else j = m; } return i;