diff options
Diffstat (limited to 'deps/v8/test/mjsunit/web-snapshot/web-snapshot-function-context.js')
-rw-r--r-- | deps/v8/test/mjsunit/web-snapshot/web-snapshot-function-context.js | 444 |
1 files changed, 0 insertions, 444 deletions
diff --git a/deps/v8/test/mjsunit/web-snapshot/web-snapshot-function-context.js b/deps/v8/test/mjsunit/web-snapshot/web-snapshot-function-context.js deleted file mode 100644 index 88854d047d..0000000000 --- a/deps/v8/test/mjsunit/web-snapshot/web-snapshot-function-context.js +++ /dev/null @@ -1,444 +0,0 @@ -// Copyright 2022 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: --experimental-d8-web-snapshot-api --allow-natives-syntax --verify-heap - -'use strict'; - -d8.file.execute('test/mjsunit/web-snapshot/web-snapshot-helpers.js'); - -(function TestFunctionWithContext() { - function createObjects() { - globalThis.foo = { - key: (function () { - let result = 'bar'; - function inner() { return result; } - return inner; - })(), - }; - } - const { foo } = takeAndUseWebSnapshot(createObjects, ['foo']); - assertEquals('bar', foo.key()); -})(); - -(function TestInnerFunctionWithContextAndParentContext() { - function createObjects() { - globalThis.foo = { - key: (function () { - let part1 = 'snap'; - function inner() { - let part2 = 'shot'; - function innerinner() { - return part1 + part2; - } - return innerinner; - } - return inner(); - })() - }; - } - const { foo } = takeAndUseWebSnapshot(createObjects, ['foo']); - assertEquals('snapshot', foo.key()); -})(); - -(function TestTopLevelFunctionWithContext() { - function createObjects() { - globalThis.foo = (function () { - let result = 'bar'; - function inner() { return result; } - return inner; - })(); - } - const { foo } = takeAndUseWebSnapshot(createObjects, ['foo']); - assertEquals('bar', foo()); -})(); - -(function TestContextTree() { - function createObjects() { - (function outer() { - let a = 10; - let b = 20; - (function inner1() { - let c = 5; - globalThis.f1 = function() { return a + b + c; }; - })(); - (function inner2() { - let d = 10; - globalThis.f2 = function() { return a - b - d; }; - })(); - })(); - } - const {f1, f2} = takeAndUseWebSnapshot(createObjects, ['f1', 'f2']); - assertEquals(35, f1()); - assertEquals(-20, f2()); -})(); - -(function TestContextReferringToFunction() { - function createObjects() { - (function outer() { - let a = function() { return 10; } - globalThis.f = function() { return a(); }; - })(); - } - const {f} = takeAndUseWebSnapshot(createObjects, ['f']); - assertEquals(10, f()); -})(); - -(function TestNonInlinedScopeInfoInContext() { - function createObjects() { - globalThis.bar = (function() { - let a1 = 1; - let a2 = 1; - let a3 = 1; - let a4 = 1; - let a5 = 1; - let a6 = 1; - let a7 = 1; - let a8 = 1; - let a9 = 1; - let a10 = 1; - let a11 = 1; - let a12 = 1; - let a13 = 1; - let a14 = 1; - let a15 = 1; - let a16 = 1; - let a17 = 1; - let a18 = 1; - let a19 = 1; - let a20 = 1; - let a21 = 1; - let a22 = 1; - let a23 = 1; - let a24 = 1; - let a25 = 1; - let a26 = 1; - let a27 = 1; - let a28 = 1; - let a29 = 1; - let a30 = 1; - let a31 = 1; - let a32 = 1; - let a33 = 1; - let a34 = 1; - let a35 = 1; - let a36 = 1; - let a37 = 1; - let a38 = 1; - let a39 = 1; - let a40 = 1; - let a41 = 1; - let a42 = 1; - let a43 = 1; - let a44 = 1; - let a45 = 1; - let a46 = 1; - let a47 = 1; - let a48 = 1; - let a49 = 1; - let a50 = 1; - let a51 = 1; - let a52 = 1; - let a53 = 1; - let a54 = 1; - let a55 = 1; - let a56 = 1; - let a57 = 1; - let a58 = 1; - let a59 = 1; - let a60 = 1; - let a61 = 1; - let a62 = 1; - let a63 = 1; - let a64 = 1; - let a65 = 1; - let a66 = 1; - let a67 = 1; - let a68 = 1; - let a69 = 1; - let a70 = 1; - let a71 = 1; - let a72 = 1; - let a73 = 1; - let a74 = 1; - let a75 = 1; - function inner1() { - return a1; - } - function inner2() { - return a2; - } - function inner3() { - return a3; - } - function inner4() { - return a4; - } - function inner5() { - return a5; - } - function inner6() { - return a6; - } - function inner7() { - return a7; - } - function inner8() { - return a8; - } - function inner9() { - return a9; - } - function inner10() { - return a10; - } - function inner11() { - return a11; - } - function inner12() { - return a12; - } - function inner13() { - return a13; - } - function inner14() { - return a14; - } - function inner15() { - return a15; - } - function inner16() { - return a16; - } - function inner17() { - return a17; - } - function inner18() { - return a18; - } - function inner19() { - return a19; - } - function inner20() { - return a20; - } - function inner21() { - return a21; - } - function inner22() { - return a22; - } - function inner23() { - return a23; - } - function inner24() { - return a24; - } - function inner25() { - return a25; - } - function inner26() { - return a26; - } - function inner27() { - return a27; - } - function inner28() { - return a28; - } - function inner29() { - return a29; - } - function inner30() { - return a30; - } - function inner31() { - return a31; - } - function inner32() { - return a32; - } - function inner33() { - return a33; - } - function inner34() { - return a34; - } - function inner35() { - return a35; - } - function inner36() { - return a36; - } - function inner37() { - return a37; - } - function inner38() { - return a38; - } - function inner39() { - return a39; - } - function inner40() { - return a40; - } - function inner41() { - return a41; - } - function inner42() { - return a42; - } - function inner43() { - return a43; - } - function inner44() { - return a44; - } - function inner45() { - return a45; - } - function inner46() { - return a46; - } - function inner47() { - return a47; - } - function inner48() { - return a48; - } - function inner49() { - return a49; - } - function inner50() { - return a50; - } - function inner51() { - return a51; - } - function inner52() { - return a52; - } - function inner53() { - return a53; - } - function inner54() { - return a54; - } - function inner55() { - return a55; - } - function inner56() { - return a56; - } - function inner57() { - return a57; - } - function inner58() { - return a58; - } - function inner59() { - return a59; - } - function inner60() { - return a60; - } - function inner61() { - return a61; - } - function inner62() { - return a62; - } - function inner63() { - return a63; - } - function inner64() { - return a64; - } - function inner65() { - return a65; - } - function inner66() { - return a66; - } - function inner67() { - return a67; - } - function inner68() { - return a68; - } - function inner69() { - return a69; - } - function inner70() { - return a70; - } - function inner71() { - return a71; - } - function inner72() { - return a72; - } - function inner73() { - return a73; - } - function inner74() { - return a74; - } - function inner75() { - return a75; - } - return inner1; - })() - } - const {bar} = takeAndUseWebSnapshot(createObjects, ['bar']); - assertEquals(1, bar()); -})(); - -(function TestMoreThanOneScopeLocalInContext() { - function createObjects() { - globalThis.foo = (function() { - let result = 'bar'; - let a = '1'; - function inner() { - return result; - } - function inner2() { - return a; - } - return inner; - })(); - } - const {foo} = takeAndUseWebSnapshot(createObjects, ['foo']); - assertEquals('bar', foo()); -})(); - -(function TestContextReferencingArray() { - function createObjects() { - function outer() { - let o = [11525]; - function inner() { return o; } - return inner; - } - globalThis.foo = { - func: outer() - }; - } - const { foo } = takeAndUseWebSnapshot(createObjects, ['foo']); - assertEquals(11525, foo.func()[0]); -})(); - -(function TestContextReferencingObject() { - function createObjects() { - function outer() { - let o = { value: 11525 }; - function inner() { return o; } - return inner; - } - globalThis.foo = { - func: outer() - }; - } - const { foo } = takeAndUseWebSnapshot(createObjects, ['foo']); - assertEquals(11525, foo.func().value); -})(); |