Index: test/mjsunit/asm/uint32div.js |
diff --git a/test/mjsunit/asm/uint32div.js b/test/mjsunit/asm/uint32div.js |
index dcbb73bfa9e45e16dbd9c8accf8de10e8b1193c4..04b31a6dbbbb9f2ac990e649a6cf712afe62124a 100644 |
--- a/test/mjsunit/asm/uint32div.js |
+++ b/test/mjsunit/asm/uint32div.js |
@@ -9,13 +9,15 @@ var heap = new ArrayBuffer(64 * 1024); |
function Uint32Div(divisor) { |
var name = "div_"; |
name += divisor; |
- var m = eval("function Module(stdlib, foreign, heap) {\n" |
- + " \"use asm\";\n" |
- + " function " + name + "(dividend) {\n" |
- + " return ((dividend >>> 0) / " + divisor + ") >>> 0;\n" |
- + " }\n" |
- + " return { f: " + name + "}\n" |
- + "}; Module"); |
+ var m = eval( |
+ 'function Module(stdlib, foreign, heap) {\n' + |
+ ' "use asm";\n' + |
+ ' function ' + name + '(dividend) {\n' + |
+ ' dividend = dividend | 0;\n' + |
+ ' return ((dividend >>> 0) / ' + divisor + ') | 0;\n' + |
+ ' }\n' + |
+ ' return { f: ' + name + '}\n' + |
+ '}; Module'); |
return m(stdlib, foreign, heap).f; |
} |
@@ -24,13 +26,15 @@ for (var i in divisors) { |
var divisor = divisors[i]; |
var div = Uint32Div(divisor); |
for (var dividend = 0; dividend < 4294967296; dividend += 3999773) { |
- assertEquals((dividend / divisor) >>> 0, div(dividend)); |
+ assertEquals((dividend / divisor) | 0, div(dividend)); |
} |
} |
var div = (function(stdlib, foreign, heap) { |
"use asm"; |
function div(dividend, divisor) { |
+ dividend = dividend | 0; |
+ divisor = divisor | 0; |
return (dividend >>> 0) / (divisor >>> 0) | 0; |
} |
return {div: div}; |