v8/test/mjsunit/regress/regress-crbug-724153.js
Michael Starzinger f7f03da0d3 [turbofan] Fix value output count range on Operator.
This widens the range of value output counts to 32 bit on the {Operator}
class. Note that the limit imposed by the parser is 65535 parameters for
each function, but the {Start} node has additional value outputs.

R=jarin@chromium.org
TEST=mjsunit/regress/regress-crbug-724153
BUG=chromium:724153

Change-Id: I21b5d947cc2305b255ddbbff6ec1dfa5c02784c7
Reviewed-on: https://chromium-review.googlesource.com/517489
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45573}
2017-05-29 15:49:06 +00:00

19 lines
528 B
JavaScript

// 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 --no-turbo-verify
(function TestParameterLimit() {
var src = '(function f(a,';
for (var i = 0; i < 65535 - 2; i++) {
src += 'b' + i + ',';
}
src += 'c) { return a + c })';
var f = eval(src);
assertEquals(NaN, f(1));
assertEquals(NaN, f(2));
%OptimizeFunctionOnNextCall(f);
assertEquals(NaN, f(3));
})();