f6a8576897
BuildClassBoilerplate accessed the native context to get the class_function_descriptors. Baseline compilation should be native context independent, so we shouldn't access the native context at all. As it happens, class_function_descriptors wasn't used so can just be removed. BUG=chromium:898076, v8:8041 Change-Id: If9c0edf3dfde68c76ea87820f9d4b080aac6d60e Reviewed-on: https://chromium-review.googlesource.com/c/1298033 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#56958}
61 lines
1.2 KiB
JavaScript
61 lines
1.2 KiB
JavaScript
// 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
|