diff options
Diffstat (limited to 'deps/v8/test/mjsunit/maglev/math-round.js')
-rw-r--r-- | deps/v8/test/mjsunit/maglev/math-round.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/maglev/math-round.js b/deps/v8/test/mjsunit/maglev/math-round.js new file mode 100644 index 0000000000..2e16fd9fa5 --- /dev/null +++ b/deps/v8/test/mjsunit/maglev/math-round.js @@ -0,0 +1,23 @@ +// Copyright 2023 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 --maglev +function f(o) { + return Math.round(o.a); +} + +%PrepareFunctionForOptimization(f); +f({a: {valueOf(){ return 7.5; }}}); +f({a: {valueOf(){ return 7.5; }}}); +f({a: {valueOf(){ return 7.5; }}}); +f({a: {valueOf(){ return 7.5; }}}); +%OptimizeMaglevOnNextCall(f); +assertEquals(NaN, f({a:NaN})); +assertEquals(Infinity, f({a:Infinity})); +assertEquals(-Infinity, f({a:-Infinity})); +assertEquals(-Infinity, 1/f({a:-0.5})); +assertEquals(1, 1/f({a:0.5})); +assertEquals(8, f({a: {valueOf(){ + %DeoptimizeFunction(f); + return 7.5; }}})); |