v8/test/mjsunit/eagerly-parsed-lazily-compiled-functions.js
marja bf3081c837 Put Scopes into temporary Zone (second try)
When parsing a eagerly-parsed-but-lazily-compiled function, we
used to put some of its AST nodes into a discardable Zone. This
CL puts the function Scope, its inner Scopes and the related AST
nodes (Declarations, VariableProxys) into the temporary Zone
too. This reduces peak memory usage and enables future work to
keep the temporary Zone around for later compilation.

BUG=

Review-Url: https://codereview.chromium.org/2210243002
Cr-Commit-Position: refs/heads/master@{#38348}
2016-08-04 19:15:55 +00:00

34 lines
877 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: --min-preparse-length=0
// The test functions in this file will be eagerly compiled. The functions
// inside will be eagerly parsed but lazily compiled.
(function TestLengths() {
function inner(p1, p2, p3) { }
assertEquals(3, inner.length);
})();
(function TestAccessingContextVariables() {
var in_context = 8;
function inner() { return in_context; }
assertEquals(8, inner());
})();
(function TestAccessingContextVariablesFromDeeper() {
var in_context = 8;
function inner() {
function inner_inner() {
function inner_inner_inner() {
return in_context;
}
return inner_inner_inner;
}
return inner_inner;
}
assertEquals(8, inner()()());
})();