From fe6129f7edaa3a9dee990cd90f765e7196d992b6 Mon Sep 17 00:00:00 2001 From: daurnimator Date: Tue, 23 May 2017 14:34:06 +1000 Subject: src/lcode.js: luaK_intK no longer collides with strings --- src/lcode.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lcode.js b/src/lcode.js index ea010aa..89813cb 100644 --- a/src/lcode.js +++ b/src/lcode.js @@ -470,12 +470,10 @@ const luaK_stringK = function(fs, s) { /* ** Add an integer to list of constants and return its index. ** Integers use userdata as keys to avoid collision with floats with -** same value; conversion to 'void*' is used only for hashing, so there -** are no "precision" problems. +** same value. */ const luaK_intK = function(fs, n) { - /* FIXME: shouldn't use string as key. need to use pointer */ - let k = new TValue(CT.LUA_TLNGSTR, lstring.luaS_bless(fs.L, defs.to_luastring(`${n}`))); + let k = new TValue(CT.LUA_TLIGHTUSERDATA, n); let o = new TValue(CT.LUA_TNUMINT, n); return addk(fs, k, o); }; -- cgit v1.2.3-70-g09d2