haikuwebkit/JSTests/microbenchmarks/get-by-val-polymorphic-ic-3.js

29 lines
511 B
JavaScript

function assert(b, m) {
if (!b)
throw new Error(m);
}
function test3() {
function foo(o, i) {
return o[i];
}
noInline(foo);
function args(a, b) {
return arguments;
}
let o1 = args(20, 30);
let o2 = [10];
let o3 = {x:42}
let start = Date.now();
for (let i = 0; i < 8000000; ++i) {
assert(foo(o1, 0) === 20);
assert(foo(o1, 1) === 30);
assert(foo(o2, 0) === 10);
assert(foo(o3, "x") === 42);
}
}
test3();