File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ ## Release 2.1.5 (Jul 23, 2026)
2+
3+ * Fixed a real JIT inlining bug: `odd?` compiled to a raw
4+ `n % 2 != 0`, diverging from the real primitive (`n % 2 == 1`) for
5+ any non-integer argument -- e.g. `(odd? 2.5)` returned `#t` from
6+ JIT-compiled code and `#f` everywhere else. Found by a new
7+ differential fuzzer (`tests/test_jit_fuzz.py`) that generates many
8+ random small Scheme programs and compares the trampoline, Phase 2,
9+ and JIT execution paths on each one; see `tests/test_jit_odd_float.py`
10+ for the pinned regression.
11+ * Extended the JIT/Phase-2 tag-parity guard tests
12+ (`tests/test_jit_tag_parity.py`) to also cover `_phase2_safe_walk`,
13+ closing the same class of gap for the walker whose certification
14+ errors are the most dangerous (a wrongly-certified proc can commit
15+ `apply_proc` to a live Phase-2 attempt and silently re-run side
16+ effects on fallback).
17+
118## Release 2.1.4 (Jul 23, 2026)
219
320 * Fixed a latent JIT/Phase-2 safety gap: `_apply_direct` (used by
You can’t perform that action at this time.
0 commit comments