v8/test/mjsunit/regress/regress-crbug-469768.js
jkummerow 146598f44a JSEntryTrampoline: check for stack space before pushing arguments
Optimistically pushing a lot of arguments can run into the stack limit of the process, at least on operating systems where this limit is close to the limit that V8 sets for itself.

BUG=chromium:469768
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#27614}
2015-04-07 09:13:44 +00:00

34 lines
759 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.
// Try several different argument counts to make sure none of them
// sneak through the system of stack checks.
try {
Array.prototype.concat.apply([], new Array(100000));
} catch (e) {
// Throwing is fine, just don't crash.
}
try {
Array.prototype.concat.apply([], new Array(150000));
} catch (e) {
// Throwing is fine, just don't crash.
}
try {
Array.prototype.concat.apply([], new Array(200000));
} catch (e) {
// Throwing is fine, just don't crash.
}
try {
Array.prototype.concat.apply([], new Array(248000));
} catch (e) {
// Throwing is fine, just don't crash.
}