mirror of
https://github.com/tc39/test262.git
synced 2025-05-04 15:00:42 +02:00
36 lines
791 B
JavaScript
36 lines
791 B
JavaScript
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);
|
|
}
|