new-contiguous-array-with-size.js   [plain text]


function foo(x) {
    return new Array(x);
}

noInline(foo);

function test(size) {
    var result = foo(size);
    if (result.length != size) {
        print("Got a weird length: " + result.length);
        throw "Error: bad result: " + result;
    }
    var sawThings = false;
    for (var s in result)
        sawThings = true;
    if (sawThings) {
        print("Saw things!");
        throw "Error: array is in bad state: " + result;
    }
    result[0] = "42.5";
    if (result[0] != "42.5") {
        print("Didn't store what I thought I stored.");
        throw "Error: array is in wierd state: " + result;
    }
}

for (var i = 0; i < 100000; ++i) {
    test(0);
    test(1);
    test(42);
}