Chromium Code Reviews| Index: test/mjsunit/regress/regress-351624.js |
| diff --git a/test/mjsunit/regress/regress-351624.js b/test/mjsunit/regress/regress-351624.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3d217fff6685755e80041c37f918e50e18147006 |
| --- /dev/null |
| +++ b/test/mjsunit/regress/regress-351624.js |
| @@ -0,0 +1,27 @@ |
| +// Copyright 2014 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. |
| + |
| +// Flags: --allow-natives-syntax |
| + |
| +var big = 1e10; |
| +var backup = new Float64Array(1); |
| + |
| +function mult0(val){ |
| + var prod = val * big; |
| + backup[0] = prod; |
| + print("input: " + prod); |
|
Jakob Kummerow
2014/03/13 12:50:01
don't need print() for non-interactive use
|
| + var rounded = Math.round(prod); |
| + print("rounded: " + rounded); |
| + if (prod !== backup[0]) throw new Error("arg!"); |
|
Jakob Kummerow
2014/03/13 12:50:01
use assertEquals(backup[0], prod) here
|
| + return rounded; |
| +} |
| + |
| +var count = 5; |
| +for (var i = 0; i < count; i++) { |
| + if (i == count - 1) %OptimizeFunctionOnNextCall(mult0); |
| + var result = mult0(-1); |
| + if (result != -big) { |
|
Jakob Kummerow
2014/03/13 12:50:01
assertEquals(-big, result)
|
| + throw new Error('Iteration ' + i + ': ' + result); |
| + } |
| +} |