| // Copyright 2014 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 | |
| var d = {x: undefined, y: undefined}; | |
| function Crash(left, right) { | |
| var c = { | |
| x: right.x - left.x, | |
| y: right.y - left.y | |
| }; | |
| return c.x * c.y; | |
| } | |
| var a = {x: 0.5, y: 0}; | |
| var b = {x: 1, y: 0}; | |
| for (var i = 0; i < 3; i++) Crash(a, b); | |
| %OptimizeFunctionOnNextCall(Crash); | |
| Crash(a, b); | |
| Crash({x: 0, y: 0.5}, b); |