// Copyright 2017 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 --expose-gc --turbo-inline-array-builtins

(function() {
  var result = 0;
  var f = function() {
    var b = [,,];
    b[0] = 0;
    b[2] = 2;
    var sum = function(v,i,o) {
      result += i;
    };
    b.forEach(sum);
  };
  %PrepareFunctionForOptimization(f);
  f();
  f();
  %OptimizeFunctionOnNextCall(f);
  f();
  f();
  f();
  assertEquals(10, result);
})();