// 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 --turbo-escape function foo() { var a = {x:1}; var b = {x:1.5, y: 1}; var x = 0; for (var i = 0; i < 1; i = {}) { // The second iteration of this loop is dead code, leading to a // contradiction between dynamic and static information. x += a.x + 0.5; x += a.x % 0.5; x += Math.abs(a.x); x += a.x < 6; x += a.x === 7; x += a.x <= 8; a = b; } return x; } foo(); foo(); %OptimizeFunctionOnNextCall(foo); foo();