blob: 4d1c41e3235c33a71aa6cdd40d735d53520ddea7 [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// 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
7function foo(expected, x) {
8 var passed = expected.length == x.length;
9 for (var i = 0; i < expected.length; i++) {
10 if (passed)
11 passed = expected[i] == x[i];
12 }
13 print("a");
14 print(passed);
15
16 %DeoptimizeFunction(foo);
17
18 print("b");
19 print(passed);
20 return passed;
21}
22
23assertTrue(foo([0,1], [0,1]));
24assertTrue(foo([0,2], [0,2]));
25assertFalse(foo([0,2.25], [0,2.75]));
26
27%OptimizeFunctionOnNextCall(foo);
28
29assertTrue(foo([0,1], [0,1]));
30assertTrue(foo([0,2], [0,2]));
31assertFalse(foo([0,2.25], [0,2.75]));