OLD | NEW |
| (Empty) |
1 // Copyright 2016 the V8 project authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Flags: --allow-natives-syntax | |
6 | |
7 function test(x, y) { return x * y; } | |
8 | |
9 assertEquals(12, test(3, 4)); | |
10 assertEquals(16, test(4, 4)); | |
11 | |
12 %OptimizeFunctionOnNextCall(test); | |
13 assertEquals(27, test(9, 3)); | |
14 | |
15 assertEquals(-0, test(-3, 0)); | |
16 assertEquals(-0, test(0, -0)); | |
17 | |
18 | |
19 const SMI_MAX = (1 << 29) - 1 + (1 << 29); // Create without overflowing. | |
20 const SMI_MIN = -SMI_MAX - 1; // Create without overflowing. | |
21 | |
22 // multiply by 3 to avoid compiler optimizations that convert 2*x to x + x. | |
23 assertEquals(SMI_MAX + SMI_MAX + SMI_MAX, test(SMI_MAX, 3)); | |
OLD | NEW |