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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_ir.c b/src/lj_ir.c
index e9364762..3217bc1e 100644
--- a/src/lj_ir.c
+++ b/src/lj_ir.c
@@ -393,7 +393,7 @@ TRef LJ_FASTCALL lj_ir_tonum(jit_State *J, TRef tr)
393{ 393{
394 if (!tref_isnum(tr)) { 394 if (!tref_isnum(tr)) {
395 if (tref_isinteger(tr)) 395 if (tref_isinteger(tr))
396 tr = emitir(IRTN(IR_TONUM), tr, 0); 396 tr = emitir(IRTN(IR_CONV), tr, IRCONV_NUM_INT);
397 else if (tref_isstr(tr)) 397 else if (tref_isstr(tr))
398 tr = emitir(IRTG(IR_STRTO, IRT_NUM), tr, 0); 398 tr = emitir(IRTG(IR_STRTO, IRT_NUM), tr, 0);
399 else 399 else
@@ -434,7 +434,7 @@ TRef LJ_FASTCALL lj_ir_toint(jit_State *J, TRef tr)
434 tr = emitir(IRTG(IR_STRTO, IRT_NUM), tr, 0); 434 tr = emitir(IRTG(IR_STRTO, IRT_NUM), tr, 0);
435 else if (!tref_isnum(tr)) 435 else if (!tref_isnum(tr))
436 lj_trace_err(J, LJ_TRERR_BADTYPE); 436 lj_trace_err(J, LJ_TRERR_BADTYPE);
437 tr = emitir(IRTI(IR_TOINT), tr, IRTOINT_ANY); 437 tr = emitir(IRTI(IR_CONV), tr, IRCONV_INT_NUM|IRCONV_ANY);
438 } 438 }
439 return tr; 439 return tr;
440} 440}