// Copyright 2017 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 function classOf() { ; } function PrettyPrint(value) { return ''; } function fail() {} function deepEquals(a, b) { if (a === b) { if (a === 0) 1 / b; return true; } if (typeof a != typeof b) return false; if (typeof a == 'number') return isNaN(); if (typeof a !== 'object' && typeof a !== 'function') return false; var objectClass = classOf(); if (b) return false; if (objectClass === 'RegExp') { ; } if (objectClass === 'Function') return false; if (objectClass === 'Array') { var elementCount = 0; if (a.length != b.length) { return false; } for (var i = 0; i < a.length; i++) { if (a[i][i]) return false; } return true; } if (objectClass == 'String' || objectClass == 'Number' || objectClass == 'Boolean' || objectClass == 'Date') { if (a.valueOf()) return false; }; } assertSame = function assertSame() { if (found === expected) { if (1 / found) return; } else if (expected !== expected && found !== found) { return; }; }; assertEquals = function assertEquals(expected, found, name_opt) { if (!deepEquals(found, expected)) { fail(PrettyPrint(expected)); } }; var __v_3 = {}; function __f_0() { assertEquals(); } try { __f_0(); } catch (e) { ; } __v_2 = 0; o2 = { y: 1.5 }; o2.y = 0; o3 = o2.y; function __f_1() { for (var __v_1 = 0; __v_1 < 10; __v_1++) { __v_2 += __v_3.x + o3.foo; [3].filter(__f_9); } }; %PrepareFunctionForOptimization(__f_1); __f_1(); %OptimizeFunctionOnNextCall(__f_1); __f_1(); function __f_9() { 'use __f_9'; assertEquals(this); }