summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/saved-stacks/self-hosted.js
blob: 88f8ce20070c2df8b52f0376f23ccba73dea79fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Test that we can save stacks with self-hosted function frames in them.

const map = (function () {
  return [3].map(n => saveStack()).pop();
}());

assertEq(map.parent.functionDisplayName, "map");
assertEq(map.parent.source, "self-hosted");

const reduce = (function () {
  return [3].reduce(() => saveStack(), 3);
}());

assertEq(reduce.parent.functionDisplayName, "reduce");
assertEq(reduce.parent.source, "self-hosted");

const forEach = (function () {
  try {
    [3].forEach(n => { throw saveStack() });
  } catch (s) {
    return s;
  }
}());

assertEq(forEach.parent.functionDisplayName, "forEach");
assertEq(forEach.parent.source, "self-hosted");