// Copyright 2015 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

function f(a, b, c, d) {
  return [a, ...(%DeoptimizeNow(), [b, c]), d];
};
%PrepareFunctionForOptimization(f);
assertEquals([1, 2, 3, 4], f(1, 2, 3, 4));
assertEquals([1, 2, 3, 4], f(1, 2, 3, 4));
%OptimizeFunctionOnNextCall(f);
assertEquals([1, 2, 3, 4], f(1, 2, 3, 4));
