v8/test/mjsunit/regress/regress-deopt-in-array-literal-spread.js
mstarzinger 279f2aad93 [turbofan] Fix deoptimization from array literal spread.
This fixes the array literal expression stack tracking in the presence
of spread expressions. Deoptimization within a spread expression was
borked.

R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-deopt-in-array-literal-spread

Review URL: https://codereview.chromium.org/1455953002

Cr-Commit-Position: refs/heads/master@{#32079}
2015-11-18 11:45:41 +00:00

13 lines
415 B
JavaScript

// 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]; }
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));