JIT-vs-CEK test parity: both now pass 3938/534 (identical failures). Three fixes in sx_vm.ml + run_tests.ml: 1. OP_CALL_PRIM: fallback to Sx_primitives.get_primitive when vm.globals misses. Primitives registered after JIT setup (host-global, host-get, etc. bound inside run_spec_tests) become resolvable at call time. 2. jit_compile_lambda: early-exit for anonymous lambdas, nested lambdas (closure has parent — recreated per outer call), and a known-broken name list: parser combinators, hyperscript parse/compile orchestrators, test helpers, compile-timeout functions, and hs loop runtime (which uses guard/raise for break/continue). Lives inside jit_compile_lambda so both the CEK _jit_try_call_fn hook and VM OP_CALL Lambda path honor the skip list. 3. run_tests.ml _jit_try_call_fn: catch TIMEOUT during jit_compile_lambda. Sentinel is set before compile, so subsequent calls skip JIT; this ensures the first call of a suite also falls back to CEK cleanly when compile exceeds the 5s test budget. Also includes run_tests.ml 'reset' form helpers refactor (form-element reset command) that was pending in the working tree. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
63 KiB
63 KiB