[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / microbenchmarks / string-hash.js
1 // Test the performance of integer multiplication by implementing a 16-bit
2 // string hash.
3
4 function stringHash(string)
5 {
6     // source: http://en.wikipedia.org/wiki/Java_hashCode()#Sample_implementations_of_the_java.lang.String_algorithm
7     var h = 0;
8     var len = string.length;
9     for (var index = 0; index < len; index++) {
10         h = (((31 * h) | 0) + string.charCodeAt(index)) | 0;
11     }
12     return h;
13 }
14
15 for (var i = 0; i < 10000; ++i) {
16     var result = stringHash("The spirit is willing but the flesh is weak.");
17     if (result != -723065856)
18         throw "Bad result: " + result;
19 }
20