Index: test/mjsunit/eagerly-parsed-lazily-compiled-functions.js |
diff --git a/test/mjsunit/eagerly-parsed-lazily-compiled-functions.js b/test/mjsunit/eagerly-parsed-lazily-compiled-functions.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..edc14430ea5b4935dc2b52bc218e44d2e72dc269 |
--- /dev/null |
+++ b/test/mjsunit/eagerly-parsed-lazily-compiled-functions.js |
@@ -0,0 +1,33 @@ |
+// 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()()()); |
+})(); |