function shouldBe(actual, expected) { | |
if (actual !== expected) | |
throw new Error('bad value: ' + actual); | |
} | |
noInline(shouldBe); | |
var array1 = $vm.createRuntimeArray(0, 1, 2, 3, 4, 5); | |
Object.freeze(array1); | |
function test1() | |
{ | |
return array1[0] + array1[1] + array1[2] + array1[3] + array1[4] + array1[5]; | |
} | |
noInline(test1); | |
function test2() | |
{ | |
return array1[0] + array1[1] + array1[2] + array1[3] + array1[4] + array1[5] + (array1[6] | 0); | |
} | |
noInline(test2); | |
var array4 = $vm.createRuntimeArray(0, 1, 2, 3, 4, 5); | |
Object.seal(array4); | |
function test5() | |
{ | |
return array4[0] + array4[1] + array4[2] + array4[3] + array4[4] + array4[5]; | |
} | |
noInline(test5); | |
for (var i = 0; i < 1e5; ++i) { | |
shouldBe(test1(), 15); | |
shouldBe(test2(), 15); | |
shouldBe(test5(), 15); | |
} |