| function assert(b, m) { |
| if (!b) |
| throw new Error(m); |
| } |
| |
| function test6() { |
| function foo(o, i) { |
| return o[i]; |
| } |
| noInline(foo); |
| |
| function args(a, b) { |
| function capture() { |
| return a + b; |
| } |
| return arguments; |
| } |
| |
| let o1 = "abc"; |
| let o2 = "\u2713a"; |
| let o3 = new Uint32Array([3, 4]); |
| |
| let start = Date.now(); |
| for (let i = 0; i < 2000000; ++i) { |
| assert(foo(o1, 0) === "a"); |
| assert(foo(o1, 1) === "b"); |
| assert(foo(o1, 2) === "c"); |
| assert(foo(o2, 0) === "\u2713"); |
| assert(foo(o2, 1) === "a"); |
| assert(foo(o3, 0) === 3); |
| assert(foo(o3, 1) === 4); |
| } |
| } |
| test6(); |