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: --use-osr 6 7 function id(f) { return f; } 8 9 function foo() { 10 var sum = 0; 11 var r = id(foo); 12 for (var i = 0; i < 100000; i++) { 13 sum += i; 14 } 15 return foo == r; 16 } 17 18 assertEquals(true, foo()); 19 assertEquals(true, foo()); 20 assertEquals(true, foo()); 21 22 23 function bar() { 24 var sum = 0; 25 for (var i = 0; i < 90000; i++) { 26 sum += i; 27 } 28 return id(bar,sum); 29 } 30 31 assertEquals(bar, bar()); 32 assertEquals(bar, bar()); 33 assertEquals(bar, bar()); 34