Implement Test262 test harness and initial pass rate tracking
- Add proper try/catch compilation (PushExceptionHandler/PopExceptionHandler
bytecode ops) — previously try/catch was a stub that compiled blocks
sequentially without exception handling
- Add function property support (functions are objects in JS and can have
arbitrary properties like assert.sameValue)
- Implement Test262 harness preamble with assert, assert.sameValue,
assert.notSameValue, assert.throws, and Test262Error helpers
- Add evaluate_with_preamble API for running tests with harness globals
- Add instruction limit to VM to prevent infinite loops in test suite
- Implement test metadata parsing (features, flags, includes, negative tests)
- Add feature-based test skipping for unimplemented features
- Report pass/fail/skip grouped by category with pass rate percentages
Initial pass rate: 3406/8929 executed (38%), 14455 skipped.
Notable: keywords 100%, punctuators 100%, ASI 95%, block-scope 88%.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
authored by
tangled.org
3235f7f1
2b2ab92f