we (web engine): Experimental web browser project to understand the limits of Claude

Fix bytecode compiler bugs: switch default, loop continue, class methods master

Fix five correctness bugs in the bytecode compiler: 1. Switch default case corrupted bytecode — patch_jump(0) overwrote the first instruction when a default case was present. Rewrote switch compilation to use separate tracking for case jumps vs default fallthrough. 2. For-loop continue jumped to wrong target — continue inside a for-loop body jumped before the body instead of to the update expression. Changed continue to use forward-jump patching (like break) so the target is resolved after body compilation. 3. Do-while continue jumped to wrong target — continue jumped to the body start instead of the condition check. Same forward-jump patching fix. 4. Empty constructor had no Return instruction — classes without explicit constructors created a Function with empty bytecode. Now emits LoadUndefined + Return. 5. Class expression didn't compile methods — only the constructor was compiled for class expressions. Now compiles methods as properties, matching class declaration behavior. Also adds patch_jump_to(pos, target) to BytecodeBuilder for patching jumps to arbitrary targets (not just current offset). 6 new regression tests. All 182 JS tests pass. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>


+179 -52
2 changed files