| // Copyright 2013 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: --use-osr --allow-natives-syntax | |
| function f(x) { | |
| var sum = 0; | |
| var outer = 10; | |
| while (outer > 0) { | |
| var inner = 10; | |
| while (inner > 0) { | |
| sum += x; | |
| inner--; | |
| if (inner == 5) { | |
| %OptimizeOsr(); | |
| } | |
| } | |
| outer--; | |
| %PrepareFunctionForOptimization(f); | |
| } | |
| return sum; | |
| } | |
| %PrepareFunctionForOptimization(f); | |
| assertEquals(500, f(5)); |