Implement JS iterators, generators, and destructuring master
- Add Yield and Spread bytecode opcodes, is_generator flag on Function - Implement generator functions: function*, yield, yield*, next/return/throw - Generator objects with suspend/resume via saved registers and IP - Compile for...of loops using the iterator protocol (@@iterator, .next()) - Add @@iterator to built-in types: Array, String, Map, Set - Array.prototype.keys/values/entries returning proper iterators - String.prototype[@@iterator] iterating over characters - Fix array/object destructuring register allocation (LIFO compliance) - Add rest element support for array destructuring ([a, ...rest]) - Add rest property support for object destructuring ({a, ...rest}) - Implement spread operator in array literals ([...arr]) - Spread opcode iterates via @@iterator protocol - Custom iterables work with for...of - Generator-based iterables work with for...of - Remove 'generators' from test262 unsupported features list - 25 new tests covering all features Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>