[JSC] Do not use asArrayModes() with Structures because it discards TypedArray inform...
[WebKit-https.git] / JSTests / stress / array-indexof-have-a-bad-time.js
1 function shouldBe(actual, expected)
2 {
3     if (actual !== expected)
4         throw new Error('bad value: ' + actual);
5 }
6
7 (function () {
8     function indexOfInt32(array, value)
9     {
10         return array.indexOf(value);
11     }
12     noInline(indexOfInt32);
13     var int32Array = [0, 1, 2, 3, 4, , 6, 7, 8, 9, 10, 11, 12];
14
15     var value = -1;
16     for (var i = 0; i < 1e5; ++i) {
17         shouldBe(indexOfInt32(int32Array, 5), value);
18         shouldBe(indexOfInt32(int32Array, 6), 6);
19         if (i === 1e4) {
20             Object.defineProperty(Map.prototype, 5, {
21                 get: function () {
22                     return 42;
23                 }
24             });
25         }
26         if (i === 3e4) {
27             value = 5;
28             Object.defineProperty(Array.prototype, 5, {
29                 get: function () {
30                     return 5;
31                 }
32             });
33         }
34     }
35 }());