aboutsummaryrefslogtreecommitdiff
path: root/src/lj_ir.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_ir.c')
-rw-r--r--src/lj_ir.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lj_ir.c b/src/lj_ir.c
index 64467758..94fe44b1 100644
--- a/src/lj_ir.c
+++ b/src/lj_ir.c
@@ -401,6 +401,18 @@ void lj_ir_kvalue(lua_State *L, TValue *tv, const IRIns *ir)
401 401
402/* -- Convert IR operand types -------------------------------------------- */ 402/* -- Convert IR operand types -------------------------------------------- */
403 403
404/* Convert from string to number. */
405TRef LJ_FASTCALL lj_ir_tonumber(jit_State *J, TRef tr)
406{
407 if (!tref_isnumber(tr)) {
408 if (tref_isstr(tr))
409 tr = emitir(IRTG(IR_STRTO, IRT_NUM), tr, 0);
410 else
411 lj_trace_err(J, LJ_TRERR_BADTYPE);
412 }
413 return tr;
414}
415
404/* Convert from integer or string to number. */ 416/* Convert from integer or string to number. */
405TRef LJ_FASTCALL lj_ir_tonum(jit_State *J, TRef tr) 417TRef LJ_FASTCALL lj_ir_tonum(jit_State *J, TRef tr)
406{ 418{