blob: 582d0389a8c65ced7c70e30458af838fd60f5a9e [file] [log] [blame]
//@ defaultRun
//@ runNoJIT
function foo(o) {
return o[0];
}
function isBigEndian() {
var word = new Int16Array(1);
word[0] = 1;
var bytes = new Int8Array(word.buffer);
return !bytes[0];
}
function test(a, b, x) {
var intArray = new Int32Array(2);
intArray[0] = a;
intArray[1] = b;
var floatArray = new Float64Array(intArray.buffer);
var element = foo(floatArray);
var result = element + 1;
if (("" + result) != ("" + x))
throw "Error: bad result for " + a + ", " + b + ": " + result + ", but expected: " + x + "; loaded " + element + " from the array";
}
noInline(test);
for (var i = 0; i < 100000; ++i)
test(0, 0, 1);
if (isBigEndian()) {
test(0xFFFF0000, 0, 0/0);
test(0, 0xFFFF0000, 1);
} else {
test(0xFFFF0000, 0, 1);
test(0, 0xFFFF0000, 0/0);
}