1 // Copyright 2014 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 6 7 function foo(a) { 8 var sum = 0; 9 for (var i = 0; i < 10; i++) { 10 sum += a[i]; 11 12 if (i > 6) { 13 sum -= a[i - 4]; 14 sum -= a[i - 5]; 15 } 16 } 17 return sum; 18 } 19 20 var a = new Int32Array(10); 21 22 foo(a); 23 foo(a); 24 %OptimizeFunctionOnNextCall(foo); 25 foo(a); 26 %OptimizeFunctionOnNextCall(foo); 27 foo(a); 28 assertOptimized(foo); 29