[JSC] Do not use asArrayModes() with Structures because it discards TypedArray inform...
[WebKit-https.git] / JSTests / stress / ftl-string-strict-equality.js
1 function makeString(char) {
2     var result = "";
3     for (var i = 0; i < 10; ++i)
4         result += char;
5     return result;
6 }
7
8 var array = [ "a", "b", "c", "d" ];
9
10 for (var i = 0; i < array.length; ++i)
11     array[i] = makeString(array[i]);
12
13 function foo(array, s) {
14     for (var i = 0; i < array.length; ++i) {
15         if (array[i] === s)
16             return i;
17     }
18     return null;
19 }
20
21 noInline(foo);
22
23 var array2 = [ "a", "b", "c", "d", "e" ];
24
25 for (var i = 0; i < array2.length; ++i)
26     array2[i] = makeString(array2[i]);
27
28 for (var i = 0; i < 100000; ++i) {
29     var index = i % array2.length;
30     var result = foo(array, array2[index]);
31     var expected = index >= array.length ? null : index
32     if (result !== expected)
33         throw "Error: bad result: " + result;
34 }
35