873d51673a
JSFunction::SetName can fail if it tries to create a string with length > String::kMaxLength (either by prepending "set "/"get " or by surrounding a Symbol descriptor with "["/"]"). This patch propagates that exception to the surrounding code rather than CHECK-failing. Bug: chromium:740398 Change-Id: I394943af481f3147387dd82ec5862d7071d57827 Reviewed-on: https://chromium-review.googlesource.com/566092 Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46601}
16 lines
530 B
JavaScript
16 lines
530 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.
|
|
|
|
var longString = (function() {
|
|
var str = "";
|
|
for (var i = 0; i < 24; i++) {
|
|
str += "abcdefgh12345678" + str;
|
|
}
|
|
return str;
|
|
})();
|
|
|
|
assertThrows(() => { return { get[longString]() { } } }, RangeError);
|
|
assertThrows(() => { return { set[longString](v) { } } }, RangeError);
|
|
assertThrows(() => { return { [Symbol(longString)]: () => {} } }, RangeError);
|