diff options
Diffstat (limited to 'src/preamble.js')
-rw-r--r-- | src/preamble.js | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/preamble.js b/src/preamble.js index f9fccdf6..ac6ee7b3 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -1090,7 +1090,8 @@ Module['writeAsciiToMemory'] = writeAsciiToMemory; {{{ reSign }}} #if PRECISE_I32_MUL -if (!Math['imul']) Math['imul'] = function imul(a, b) { +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { var ah = a >>> 16; var al = a & 0xffff; var bh = b >>> 16; |