f60048c556
The parser eagerly rewrites destructuring assignments occuring in formal parameter initializers, because not doing so would cause the BindingPattern rewriting to be confused and do the wrong thing. This change prevents this rewriting from descending into the bodies of lazily parsed functions. In general, it's a mistake to descend into the bodies of function literals anyways, since they are rewritten separately on their own time, so there is no distinction made between lazily "throw away" eagerly parsed functions in the temporary parser arena, or "real" eagerly parsed functions that will be compiled. BUG=chromium:594084, v8:811 LOG=N R=adamk@chromium.org, littledan@chromium.org Review URL: https://codereview.chromium.org/1864553002 Cr-Commit-Position: refs/heads/master@{#35277}
11 lines
344 B
JavaScript
11 lines
344 B
JavaScript
// Copyright 2016 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: --lazy --min-preparse-length=0
|
|
(function() {
|
|
function CRASH(defaultParameter =
|
|
(function() { function functionDeclaration() { return 0; } }())) {
|
|
}
|
|
})();
|