blob: ddcc645c098cfb370d6e14ee8d8425f93f0f662e [file] [log] [blame]
function noLoop(arr1, arr2) {
let i=0
if (arr1.size%2==0)
i = 0
else i = 0
arr2[i] = arr1[i]
return arr2
}
noInline(noLoop);
function invalidStart(arr1, arr2) {
if (arr1.length != arr2.length)
return []
let i = 0
do {
++i
arr2[i] = arr1[i]
} while (i < arr1.length-1)
return arr2
}
noInline(invalidStart);
const size = 10
let arr1 = new Int32Array(size)
let arr2 = new Int32Array(size)
for (let i=0; i<arr1.length; ++i) {
arr1[i] = i
}
for (let i=0; i<10000000; ++i) noLoop(arr1, arr2)
for (let i=0; i<10000000; ++i) invalidStart(arr1, arr2)
arr2 = new Int32Array(arr1.length)
invalidStart(arr1, arr2)
for (let i=1; i<arr1.length; ++i) {
if (arr2[i] != arr1[i] || arr2[0] != 0)
throw "Error: bad copy: " + i + " " + arr1[i] + " " + arr2[i]
}