summaryrefslogtreecommitdiff
path: root/src/lib_base.c
diff options
context:
space:
mode:
authorMike Pall <mike>2019-12-08 19:40:24 +0100
committerMike Pall <mike>2019-12-08 19:40:24 +0100
commit46a1b268eb0534182eda0447303c344a071632fe (patch)
tree4133530903200cd0ab3cfcb883db7d3d3ff5f047 /src/lib_base.c
parent16e5605eec2e3882d709c6b123a644f6a8023945 (diff)
downloadluajit2-46a1b268eb0534182eda0447303c344a071632fe.tar.gz
Add stricter check for print() vs. tostring() shortcut.
Diffstat (limited to 'src/lib_base.c')
-rw-r--r--src/lib_base.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib_base.c b/src/lib_base.c
index 162bbbb2..98ed3d60 100644
--- a/src/lib_base.c
+++ b/src/lib_base.c
@@ -504,7 +504,8 @@ LJLIB_CF(print)
lua_gettable(L, LUA_GLOBALSINDEX);
tv = L->top-1;
}
- shortcut = (tvisfunc(tv) && funcV(tv)->c.ffid == FF_tostring);
+ shortcut = (tvisfunc(tv) && funcV(tv)->c.ffid == FF_tostring)
+ && !gcrefu(basemt_it(G(L), LJ_TNUMX));
for (i = 0; i < nargs; i++) {
const char *str;
size_t size;