diff options
Diffstat (limited to 'deps/v8/test/mjsunit/math-deopt.js')
-rw-r--r-- | deps/v8/test/mjsunit/math-deopt.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/math-deopt.js b/deps/v8/test/mjsunit/math-deopt.js new file mode 100644 index 0000000000..b5fff7d149 --- /dev/null +++ b/deps/v8/test/mjsunit/math-deopt.js @@ -0,0 +1,70 @@ +// Copyright 2018 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 --opt --no-always-opt + +(()=> { + function f(a) { + return Math.abs(a); + } + f(1); + f(1); + %OptimizeFunctionOnNextCall(f); + f("100"); + %OptimizeFunctionOnNextCall(f); + f("100"); + assertOptimized(f); +})(); + +(()=> { + function f(a) { + return Math.min(1,a); + } + f(1); + f(1); + %OptimizeFunctionOnNextCall(f); + f("100"); + %OptimizeFunctionOnNextCall(f); + f("100"); + assertOptimized(f); +})(); + +(()=> { + function f(a) { + return Math.pow(a,10); + } + f(1); + f(1); + %OptimizeFunctionOnNextCall(f); + f("100"); + %OptimizeFunctionOnNextCall(f); + f("100"); + assertOptimized(f); +})(); + +(()=> { + function f(a) { + return Math.clz32(a); + } + f(1); + f(1); + %OptimizeFunctionOnNextCall(f); + f("100"); + %OptimizeFunctionOnNextCall(f); + f("100"); + assertOptimized(f); +})(); + +(()=> { + function f(a) { + return Math.imul(a, 10); + } + f(1); + f(1); + %OptimizeFunctionOnNextCall(f); + f("100"); + %OptimizeFunctionOnNextCall(f); + f("100"); + assertOptimized(f); +})(); |