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
35
36
37
|
// This test was made to be effective with --no-jm.
var list = [
{ entry00: 0, length: 1 },
{ entry01: 0, length: 1 },
{ entry02: 0, length: 1 },
{ entry03: 0, length: 1 },
{ entry04: 0, length: 1 },
{ entry05: 0, length: 1 },
{ entry06: 0, length: 1 },
{ entry07: 0, length: 1 },
{ entry08: 0, length: 1 },
{ entry09: 0, length: 1 },
{ entry10: 0, length: 1 },
{ entry11: 0, length: 1 },
{ entry12: 0, length: 1 },
{ entry13: 0, length: 1 },
{ entry14: 0, length: 1 },
{ entry15: 0, length: 1 },
{ entry16: 0, length: 1 }, // cause an overflow.
{ entry17: 0, length: 1 },
[0],
(new Uint8Array(new ArrayBuffer(1)))
];
function f(obj) {
return obj.length;
}
// Cook the f function on the top of the list to make sure we do not register
// our test cases.
for (var i = 0; i < 100; i++)
f(list[i % 10]);
// Register & check stubs.
for (var i = 0; i < 40; i++)
assertEq(f(list[i % 20]), 1);
|