// Copyright 2014 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 --turbo-filter=test2

function test(n) {
  return Array(n);
}

function test2() {
  return test(2);
}

function test3(a) {
  a[0] = 1;
}

%PrepareFunctionForOptimization(test2);

test(0);

var smi_array = [1,2];
smi_array[2] = 3;
test3(smi_array);

%OptimizeFunctionOnNextCall(test2);

var broken_array = test2();
test3(broken_array);
1+broken_array[0];