chromium/third_party/blink/web_tests/fast/js/regress/script-tests/Int16Array-load-int-mul.js

// Test the performance of Int16Array by implementing a 16-bit string hash, and
// test the performance of used-as-int multiplications.

function stringHash(array)
{
    // source: http://en.wikipedia.org/wiki/Java_hashCode()#Sample_implementations_of_the_java.lang.String_algorithm
    var h = 0;
    var len = array.length;
    for (var index = 0; index < len; index++) {
        h = (((31 * h) | 0) + array[index]) | 0;
    }
    return h;
}

var array = new Int16Array(1000);
for (var i = 0; i < array.length; ++i)
    array[i] = i;

var result = 0;
for (var i = 0; i < 300; ++i)
    result += stringHash(array);

if (result != 168792418800)
    throw "Bad result" + result;