Index: test/mjsunit/math-mul.js |
diff --git a/test/mjsunit/math-mul.js b/test/mjsunit/math-mul.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..855c32f8a436186726ff574822d2911004be7ea6 |
--- /dev/null |
+++ b/test/mjsunit/math-mul.js |
@@ -0,0 +1,15 @@ |
+// Copyright 2016 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+function test(x, y) { return x * y; } |
+ |
+assertEquals(8, test(2, 4)); |
+assertEquals(-0, test(-3, 0)); |
+assertEquals(-0, test(0, -0)); |
+ |
+const SMI_MAX = (1 << 29) - 1 + (1 << 29); // Create without overflowing. |
+const SMI_MIN = -SMI_MAX - 1; // Create without overflowing. |
+ |
+// multiply by 3 to avoid compiler optimizations that convert 2*x to x + x. |
+assertEquals(SMI_MAX + SMI_MAX + SMI_MAX, test(SMI_MAX, 3)); |