Sync yield* must suspend with the delegated IteratorResult object itself on non-terminal steps. We were reading value and yielding that value, causing Generator.prototype.next() to create a fresh result object. Add a bytecode op for this path so ordinary yield keeps wrapping its value, and teach generator resume to return the prebuilt result object. This also avoids touching value before the delegated iterator is done. Add regression coverage and update the yield* bytecode baseline. |
||
|---|---|---|
| .. | ||
| AST | ||
| Bytecode | ||
| Runtime | ||
| CMakeLists.txt | ||
| test-bytecode-cache.cpp | ||
| test-js-ast.py | ||
| test-js-bytecode.py | ||
| test-js.cpp | ||
| test-primitive-string.cpp | ||
| test-value-js.cpp | ||