// Copyright 2016 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 TestNonLoopyLoop() { function f() { do { %OptimizeOsr(); return 23; } while(false) } %PrepareFunctionForOptimization(f); assertEquals(23, f()); %PrepareFunctionForOptimization(f); assertEquals(23, f()); })(); (function TestNonLoopyGenerator() { function* g() { do { %OptimizeOsr(); yield 23; yield 42; } while(false) return 999; } %PrepareFunctionForOptimization(g); var gen = g(); assertEquals({ value:23, done:false }, gen.next()); assertEquals({ value:42, done:false }, gen.next()); assertEquals({ value:999, done:true }, gen.next()); })();