diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/cacheir/stub-fold-closeiter.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/cacheir/stub-fold-closeiter.js b/js/src/jit-test/tests/cacheir/stub-fold-closeiter.js new file mode 100644 index 0000000000..8e91d3737c --- /dev/null +++ b/js/src/jit-test/tests/cacheir/stub-fold-closeiter.js @@ -0,0 +1,25 @@ +class Iterator { + val = 0; + next() { + return { value: this.val++, done: false } + } + return() { return { value: undefined, done: true }} +} + +var arr = []; +for (var i = 0; i < 10; i++) { + class SubIter extends Iterator {} + var iterable = { + [Symbol.iterator]() { return new SubIter(); } + } + arr.push(iterable); +} + +function foo() { + for (var x of arr[i % arr.length]) { + if (x > 1) { return; } + } +} + +with ({}) {} +for (var i = 0; i < 100; i++) { foo(); } |