summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/profiler/wasm-to-js-2.js
blob: 3949c3a587520b98aeff143ff520aa4032f9b0cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// |jit-test| skip-if: !wasmIsSupported()
// Ensure readGeckoProfilingStack finds at least 1 Wasm frame on the stack.
function calledFromWasm() {
    let frames = readGeckoProfilingStack().flat();
    assertEq(frames.filter(f => f.kind === "wasm").length >= 1, true);
}
enableGeckoProfiling();
const text = `(module
    (import "m" "f" (func $f))
    (func (export "test")
    (call $f)
))`;
const bytes = wasmTextToBinary(text);
const mod = new WebAssembly.Module(bytes);
const imports = {"m": {"f": calledFromWasm}};
const instance = new WebAssembly.Instance(mod, imports);
for (let i = 0; i < 150; i++) {
    instance.exports.test();
}