Now that the C++ bytecode pipeline has been removed, we no longer need to match its register allocation or block layout. This removes: - All manual drop() calls that existed solely to match C++ register lifetimes, replaced with scope blocks to naturally limit register lifetimes without increasing register pressure. - The unnecessary saved_property copy in update expressions. The property register is now used directly since emit_update_op doesn't evaluate user expressions that could mutate it. The copy is retained in compound/logical assignments where the RHS can mutate the property variable (e.g. a[i] |= a[++i]). - All "matching C++", "Match C++", etc. comments throughout codegen.rs and generator.rs that referenced the removed pipeline. |
||
|---|---|---|
| .. | ||
| expected | ||
| input | ||
| output | ||