summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/parallel-compile-tasks.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/parallel-compile-tasks.js')
-rw-r--r--deps/v8/test/mjsunit/parallel-compile-tasks.js70
1 files changed, 70 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/parallel-compile-tasks.js b/deps/v8/test/mjsunit/parallel-compile-tasks.js
new file mode 100644
index 0000000000..fbde569556
--- /dev/null
+++ b/deps/v8/test/mjsunit/parallel-compile-tasks.js
@@ -0,0 +1,70 @@
+// Copyright 2018 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: --compiler-dispatcher --parallel-compile-tasks --use-external-strings
+
+(function(a) {
+ assertEquals(a, "IIFE");
+})("IIFE");
+
+(function(a, ...rest) {
+ assertEquals(a, 1);
+ assertEquals(rest.length, 2);
+ assertEquals(rest[0], 2);
+ assertEquals(rest[1], 3);
+})(1,2,3);
+
+var outer_var = 42;
+
+function lazy_outer() {
+ return 42;
+}
+
+var eager_outer = (function() { return 42; });
+
+(function() {
+ assertEquals(outer_var, 42);
+ assertEquals(lazy_outer(), 42);
+ assertEquals(eager_outer(), 42);
+})();
+
+var gen = (function*() {
+ yield 1;
+ yield 2;
+})();
+
+assertEquals(gen.next().value, 1);
+assertEquals(gen.next().value, 2);
+
+var result = (function recursive(a=0) {
+ if (a == 1) {
+ return 42;
+ }
+ return recursive(1);
+})();
+
+assertEquals(result, 42);
+
+var a = 42;
+var b;
+var c = (a, b = (function z(){ return a+1; })());
+assertEquals(b, 43);
+assertEquals(c, 43);
+var c = (a, b = (function z(){ return a+1; })()) => { return b; };
+assertEquals(c(314), 315);
+
+// http://crbug.com/898076
+(function() {
+ class foo {};
+}); // Don't call IIFE so that it is compiled during idle time
+
+// http://crbug.com/900535
+(function() {
+ "use asm";
+ function bar(i, j) {
+ i = i|0;
+ j = j|0;
+ }
+ return {bar: bar};
+}); // Don't call IIFE so that it is compiled during idle time