function shouldBe(actual, expected) { | |
if (actual !== expected) | |
throw new Error('bad value: ' + actual); | |
} | |
var array = [1, 2, 3, 4, 5]; | |
var array2 = [1, "HELLO", 3, 4, 5]; | |
var array3 = [0.1, "OK", 0.3, 0.4, 0.5]; | |
ensureArrayStorage(array2); | |
array.ok = 42; | |
array2.ok = 42; | |
array3.ok = 42; | |
// Arrayify(ArrayStorage) works with ftl-eager | |
function testArrayStorage(array) | |
{ | |
return array.length; | |
} | |
noInline(testArrayStorage); | |
for (var i = 0; i < 1e6; ++i) { | |
shouldBe(testArrayStorage(array), 5); | |
shouldBe(testArrayStorage(array2), 5); | |
shouldBe(testArrayStorage(array3), 5); | |
} |