1 // Copyright 2015 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Flags: --allow-natives-syntax --turbo-inlining 6 7 var f1 = (function() { 8 "use asm"; 9 function g() { throw 0; } 10 function f() { return g(); } 11 return f; 12 })(); 13 assertThrows("f1()"); 14 %OptimizeFunctionOnNextCall(f1); 15 assertThrows("f1()"); 16 17 var f2 = (function() { 18 "use asm"; 19 function g() { for (;;); } 20 function f(a) { return a || g(); } 21 return f; 22 })(); 23 assertTrue(f2(true)); 24 %OptimizeFunctionOnNextCall(f2); 25 assertTrue(f2(true)); 26