From 1b55793f38dcf088c2ab4b5cc9d7e75eb70ed7f7 Mon Sep 17 00:00:00 2001 From: Benoit Giannangeli Date: Sat, 20 May 2017 17:58:00 +0200 Subject: Use >>> instead of >> --- src/lvm.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lvm.js') diff --git a/src/lvm.js b/src/lvm.js index 35a4a51..6bc5377 100644 --- a/src/lvm.js +++ b/src/lvm.js @@ -365,7 +365,8 @@ const luaV_execute = function(L) { let numberop2 = tointeger(op2); if (numberop1 !== false && numberop2 !== false) { - L.stack[ra] = new lobject.TValue(CT.LUA_TNUMINT, (numberop1 >> numberop2)); + // >>> to have same overflow semantic as lua + L.stack[ra] = new lobject.TValue(CT.LUA_TNUMINT, (numberop1 >>> numberop2)|0); } else { ltm.luaT_trybinTM(L, op1, op2, ra, ltm.TMS.TM_SHR); } @@ -386,7 +387,6 @@ const luaV_execute = function(L) { } case OCi.OP_BNOT: { let op = L.stack[RB(L, base, i)]; - let numberop = tonumber(op); if (op.ttisinteger()) { L.stack[ra] = new lobject.TValue(CT.LUA_TNUMINT, ~op.value); -- cgit v1.2.3-54-g00ecf