forked from LeenkxTeam/Kmake
24 lines
701 B
JavaScript
24 lines
701 B
JavaScript
|
|
// Copyright 2023 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: --stack-size=100
|
||
|
|
|
||
|
|
function worker_code(arr) {
|
||
|
|
postMessage("worker starting");
|
||
|
|
const large_bigint = 2n ** 100_000n;
|
||
|
|
function f() {
|
||
|
|
// Run until near the stack limit.
|
||
|
|
try { f(); } catch (e) {
|
||
|
|
postMessage("stack limit reached");
|
||
|
|
postMessage(arr[large_bigint]);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
onmessage = f;
|
||
|
|
}
|
||
|
|
let w = new Worker(worker_code, { "arguments": [], "type": "function" });
|
||
|
|
assertEquals("worker starting", w.getMessage());
|
||
|
|
w.postMessage("");
|
||
|
|
assertEquals("stack limit reached", w.getMessage());
|
||
|
|
w.terminate();
|