summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/arguments/inline-arguments-exists-negative-index-1.js
blob: 21dbbb08632af3cdfaad815a03a90b115eb9c5fc (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
27
28
29
30
31
32
33
34
// |jit-test| --fast-warmup

function inner(i) {
  return i in arguments;
}

function outer(i) {
  trialInline();

  // Loop header to trigger OSR.
  let r = 0;
  for (let j = 0; j < 1; ++j) {
    r += inner(i,
      // Add extra arguments to ensure we read the arguments from the frame.
      0, 0, 0, 0,
      0, 0, 0, 0,
      0, 0, 0, 0,
      0, 0, 0, 0,
      0, 0, 0, 0,
    );
  }
  return r;
}

let count = 0;

for (let i = 0; i <= 100; ++i) {
    if (i === 50) {
      Object.prototype[-1] = 0;
    }
    count += outer(i < 100 ? i : -1);
}

assertEq(count, 1 + 21);