summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/saved-stacks/get-set.js
blob: be2e20739937a2bb7faf3961d225b5a762edcf12 (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
// Test that we can save stacks with getter and setter function frames.

function assertStackLengthEq(stack, expectedLength) {
  let actual = 0;
  while (stack) {
    actual++;
    stack = stack.parent;
  }
  assertEq(actual, expectedLength);
}

const get = { get s() { return saveStack(); } }.s;
assertStackLengthEq(get, 2);

let set;
try {
  ({
    set s(v) {
      throw saveStack();
    }
  }).s = 1;
} catch (s) {
  set = s;
}
assertStackLengthEq(set, 2);