29 lines
511 B
JavaScript
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();
|