deps: update v8 to 4.3.61.21
[platform/upstream/nodejs.git] / deps / v8 / test / mjsunit / compiler / deopt-tonumber-binop.js
1 // Copyright 2015 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 f = (function() {
8   "use asm";
9   function f(x, y) {
10     return x - y;
11   }
12   return f;
13 })();
14
15 var counter = 0;
16
17 var deopt = { toString : function() {
18   %DeoptimizeFunction(f);
19   counter++;
20   return "2";
21 } };
22
23 var o = { toString : function() {
24   counter++;
25   return "1";
26 } };
27
28 counter = 0;
29 assertEquals(1, f(deopt, o));
30 assertEquals(2, counter);
31
32 %OptimizeFunctionOnNextCall(f);
33 counter = 0;
34 assertEquals(-1, f(o, deopt));
35 assertEquals(2, counter);
36
37 %OptimizeFunctionOnNextCall(f);
38 counter = 0;
39 assertEquals(0, f(deopt, deopt));
40 assertEquals(2, counter);