mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Make sure to use irt_toitype() macro everywhere.
This commit is contained in:
parent
e7f8cc964e
commit
26830d070d
16
src/lj_asm.c
16
src/lj_asm.c
@ -1690,7 +1690,7 @@ static void asm_href(ASMState *as, IRIns *ir)
|
|||||||
emit_u32(as, LJ_TISNUM);
|
emit_u32(as, LJ_TISNUM);
|
||||||
emit_rmro(as, XO_ARITHi, XOg_CMP, dest, offsetof(Node, key.it));
|
emit_rmro(as, XO_ARITHi, XOg_CMP, dest, offsetof(Node, key.it));
|
||||||
#else
|
#else
|
||||||
emit_i8(as, ~IRT_NUM);
|
emit_i8(as, LJ_TISNUM);
|
||||||
emit_rmro(as, XO_ARITHi8, XOg_CMP, dest, offsetof(Node, key.it));
|
emit_rmro(as, XO_ARITHi8, XOg_CMP, dest, offsetof(Node, key.it));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -1709,7 +1709,7 @@ static void asm_href(ASMState *as, IRIns *ir)
|
|||||||
emit_sjcc(as, CC_NE, l_next);
|
emit_sjcc(as, CC_NE, l_next);
|
||||||
}
|
}
|
||||||
lua_assert(!irt_isnil(kt));
|
lua_assert(!irt_isnil(kt));
|
||||||
emit_i8(as, ~irt_type(kt));
|
emit_i8(as, irt_toitype(kt));
|
||||||
emit_rmro(as, XO_ARITHi8, XOg_CMP, dest, offsetof(Node, key.it));
|
emit_rmro(as, XO_ARITHi8, XOg_CMP, dest, offsetof(Node, key.it));
|
||||||
}
|
}
|
||||||
emit_sfixup(as, l_loop);
|
emit_sfixup(as, l_loop);
|
||||||
@ -1791,11 +1791,11 @@ static void asm_hrefk(ASMState *as, IRIns *ir)
|
|||||||
lua_assert(irt_isnum(irkey->t) || irt_isgcv(irkey->t));
|
lua_assert(irt_isnum(irkey->t) || irt_isgcv(irkey->t));
|
||||||
/* Assumes -0.0 is already canonicalized to +0.0. */
|
/* Assumes -0.0 is already canonicalized to +0.0. */
|
||||||
emit_loadu64(as, key, irt_isnum(irkey->t) ? ir_knum(irkey)->u64 :
|
emit_loadu64(as, key, irt_isnum(irkey->t) ? ir_knum(irkey)->u64 :
|
||||||
((uint64_t)~irt_type(irkey->t) << 32) |
|
((uint64_t)irt_toitype(irkey->t) << 32) |
|
||||||
(uint64_t)(uint32_t)ptr2addr(ir_kgc(irkey)));
|
(uint64_t)(uint32_t)ptr2addr(ir_kgc(irkey)));
|
||||||
} else {
|
} else {
|
||||||
lua_assert(!irt_isnil(irkey->t));
|
lua_assert(!irt_isnil(irkey->t));
|
||||||
emit_i8(as, ~irt_type(irkey->t));
|
emit_i8(as, irt_toitype(irkey->t));
|
||||||
emit_rmro(as, XO_ARITHi8, XOg_CMP, node,
|
emit_rmro(as, XO_ARITHi8, XOg_CMP, node,
|
||||||
ofs + (int32_t)offsetof(Node, key.it));
|
ofs + (int32_t)offsetof(Node, key.it));
|
||||||
}
|
}
|
||||||
@ -1819,7 +1819,7 @@ static void asm_hrefk(ASMState *as, IRIns *ir)
|
|||||||
emit_sjcc(as, CC_NE, l_exit);
|
emit_sjcc(as, CC_NE, l_exit);
|
||||||
}
|
}
|
||||||
lua_assert(!irt_isnil(irkey->t));
|
lua_assert(!irt_isnil(irkey->t));
|
||||||
emit_i8(as, ~irt_type(irkey->t));
|
emit_i8(as, irt_toitype(irkey->t));
|
||||||
emit_rmro(as, XO_ARITHi8, XOg_CMP, node,
|
emit_rmro(as, XO_ARITHi8, XOg_CMP, node,
|
||||||
ofs + (int32_t)offsetof(Node, key.it));
|
ofs + (int32_t)offsetof(Node, key.it));
|
||||||
}
|
}
|
||||||
@ -2018,7 +2018,7 @@ static void asm_ahuvload(ASMState *as, IRIns *ir)
|
|||||||
emit_u32(as, LJ_TISNUM);
|
emit_u32(as, LJ_TISNUM);
|
||||||
emit_mrm(as, XO_ARITHi, XOg_CMP, RID_MRM);
|
emit_mrm(as, XO_ARITHi, XOg_CMP, RID_MRM);
|
||||||
} else {
|
} else {
|
||||||
emit_i8(as, ~irt_type(ir->t));
|
emit_i8(as, irt_toitype(ir->t));
|
||||||
emit_mrm(as, XO_ARITHi8, XOg_CMP, RID_MRM);
|
emit_mrm(as, XO_ARITHi8, XOg_CMP, RID_MRM);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2052,7 +2052,7 @@ static void asm_ahustore(ASMState *as, IRIns *ir)
|
|||||||
emit_mrm(as, XO_MOVmi, 0, RID_MRM);
|
emit_mrm(as, XO_MOVmi, 0, RID_MRM);
|
||||||
}
|
}
|
||||||
as->mrm.ofs += 4;
|
as->mrm.ofs += 4;
|
||||||
emit_i32(as, (int32_t)~irt_type(ir->t));
|
emit_i32(as, (int32_t)irt_toitype(ir->t));
|
||||||
emit_mrm(as, XO_MOVmi, 0, RID_MRM);
|
emit_mrm(as, XO_MOVmi, 0, RID_MRM);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2103,7 +2103,7 @@ static void asm_sload(ASMState *as, IRIns *ir)
|
|||||||
emit_u32(as, LJ_TISNUM);
|
emit_u32(as, LJ_TISNUM);
|
||||||
emit_rmro(as, XO_ARITHi, XOg_CMP, base, ofs+4);
|
emit_rmro(as, XO_ARITHi, XOg_CMP, base, ofs+4);
|
||||||
} else {
|
} else {
|
||||||
emit_i8(as, ~irt_type(t));
|
emit_i8(as, irt_toitype(t));
|
||||||
emit_rmro(as, XO_ARITHi8, XOg_CMP, base, ofs+4);
|
emit_rmro(as, XO_ARITHi8, XOg_CMP, base, ofs+4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -363,7 +363,6 @@ typedef struct IRType1 { uint8_t irt; } IRType1;
|
|||||||
#define irt_ispri(t) ((uint32_t)irt_type(t) <= IRT_TRUE)
|
#define irt_ispri(t) ((uint32_t)irt_type(t) <= IRT_TRUE)
|
||||||
#define irt_islightud(t) (irt_type(t) == IRT_LIGHTUD)
|
#define irt_islightud(t) (irt_type(t) == IRT_LIGHTUD)
|
||||||
#define irt_isstr(t) (irt_type(t) == IRT_STR)
|
#define irt_isstr(t) (irt_type(t) == IRT_STR)
|
||||||
#define irt_isfunc(t) (irt_type(t) == IRT_FUNC)
|
|
||||||
#define irt_istab(t) (irt_type(t) == IRT_TAB)
|
#define irt_istab(t) (irt_type(t) == IRT_TAB)
|
||||||
#define irt_isnum(t) (irt_type(t) == IRT_NUM)
|
#define irt_isnum(t) (irt_type(t) == IRT_NUM)
|
||||||
#define irt_isint(t) (irt_type(t) == IRT_INT)
|
#define irt_isint(t) (irt_type(t) == IRT_INT)
|
||||||
|
Loading…
Reference in New Issue
Block a user