aboutsummaryrefslogtreecommitdiff
path: root/src/lj_ir.c
diff options
context:
space:
mode:
authorMike Pall <mike>2020-09-30 01:31:27 +0200
committerMike Pall <mike>2020-09-30 01:34:49 +0200
commite9af1abec542e6f9851ff2368e7f196b6382a44c (patch)
tree4b6d76732347a402abb43c6efa5ec3e01a4d61f0 /src/lj_ir.c
parente67e2040be693122b54fc83797cdc9eb07221aea (diff)
downloadluajit-e9af1abec542e6f9851ff2368e7f196b6382a44c.tar.gz
luajit-e9af1abec542e6f9851ff2368e7f196b6382a44c.tar.bz2
luajit-e9af1abec542e6f9851ff2368e7f196b6382a44c.zip
Add support for full-range 64 bit lightuserdata.
Diffstat (limited to 'src/lj_ir.c')
-rw-r--r--src/lj_ir.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lj_ir.c b/src/lj_ir.c
index b5e94eb8..3ce29954 100644
--- a/src/lj_ir.c
+++ b/src/lj_ir.c
@@ -389,8 +389,10 @@ void lj_ir_kvalue(lua_State *L, TValue *tv, const IRIns *ir)
389 case IR_KPRI: setpriV(tv, irt_toitype(ir->t)); break; 389 case IR_KPRI: setpriV(tv, irt_toitype(ir->t)); break;
390 case IR_KINT: setintV(tv, ir->i); break; 390 case IR_KINT: setintV(tv, ir->i); break;
391 case IR_KGC: setgcV(L, tv, ir_kgc(ir), irt_toitype(ir->t)); break; 391 case IR_KGC: setgcV(L, tv, ir_kgc(ir), irt_toitype(ir->t)); break;
392 case IR_KPTR: case IR_KKPTR: setlightudV(tv, ir_kptr(ir)); break; 392 case IR_KPTR: case IR_KKPTR:
393 case IR_KNULL: setlightudV(tv, NULL); break; 393 setnumV(tv, (lua_Number)(uintptr_t)ir_kptr(ir));
394 break;
395 case IR_KNULL: setintV(tv, 0); break;
394 case IR_KNUM: setnumV(tv, ir_knum(ir)->n); break; 396 case IR_KNUM: setnumV(tv, ir_knum(ir)->n); break;
395#if LJ_HASFFI 397#if LJ_HASFFI
396 case IR_KINT64: { 398 case IR_KINT64: {