OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 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 var big = 1e10; | |
8 var backup = new Float64Array(1); | |
9 | |
10 function mult0(val){ | |
11 var prod = val * big; | |
12 backup[0] = prod; | |
13 print("input: " + prod); | |
Jakob Kummerow
2014/03/13 12:50:01
don't need print() for non-interactive use
| |
14 var rounded = Math.round(prod); | |
15 print("rounded: " + rounded); | |
16 if (prod !== backup[0]) throw new Error("arg!"); | |
Jakob Kummerow
2014/03/13 12:50:01
use assertEquals(backup[0], prod) here
| |
17 return rounded; | |
18 } | |
19 | |
20 var count = 5; | |
21 for (var i = 0; i < count; i++) { | |
22 if (i == count - 1) %OptimizeFunctionOnNextCall(mult0); | |
23 var result = mult0(-1); | |
24 if (result != -big) { | |
Jakob Kummerow
2014/03/13 12:50:01
assertEquals(-big, result)
| |
25 throw new Error('Iteration ' + i + ': ' + result); | |
26 } | |
27 } | |
OLD | NEW |