| function foo(a) { | |
| return [...a]; | |
| } | |
| noInline(foo); | |
| let arr = []; | |
| for (let i = 0; i < testLoopCount; i++) { | |
| if (i % 100 === 0) | |
| arr.push([], i); | |
| foo(arr); | |
| } | |
| let calledIterator = false; | |
| Array.prototype[Symbol.iterator] = function iterator() { | |
| calledIterator = true; | |
| return { | |
| next() { | |
| return {done: true}; | |
| } | |
| }; | |
| }; | |
| foo(arr); | |
| if (!calledIterator) | |
| throw new Error("Bad result"); |