Parent: #134 Related: #44, #132, #133, #429
Build a general optimizing tier beyond verified baseline regions. Baseline and bytecode remain exact fallbacks and must not be reported as optimizing execution.
Acceptance
- Add profiling, optimizing IR, canonicalization, guarded speculation, and target lowering (#431).
- Implement OSR entry/exit, deoptimization reconstruction, exception edges, stack maps, and precise GC integration (#432).
- Add shape/property/call inline caches with correct invalidation under mutation and concurrency (#132, #433).
- Lower verified packed-array regions with exact guards and resumable fallback (#133).
- Manage executable memory, trap polling, code lifetime, jettison, and concurrent artifact reclamation safely (#433).
- Complete every declared architecture backend and differential-test optimized execution against interpreter and baseline tiers (#434).
- Publish reproducible correctness and performance evidence against JavaScriptCore (#434).
Children
- #431 — profiles, IR, canonicalization, and publication.
- #432 — OSR, deoptimization, exceptions, precise GC, runtime effects, and reducible loops (#435–#439).
- #132 — guarded named-property regions (#440–#444).
- #133 — verified packed-array regions (#448–#453).
- #433 — concurrency-safe polling, watchpoints, call records, and artifact lifetime (#454–#457).
- #434 — backend completion and differential/JSC evidence.
- #429 — promote the ten PR-249 optimizer executables through the real tier.
Completion
The released optimizer subset executes guarded numeric/control SSA, exact deoptimization and completion dispatch, reducible loop OSR, precise moving-GC safepoints, runtime effects, polymorphic own/inherited property access, call links, and packed array regions. Unsupported operations retain exact baseline/bytecode fallback.
The sole declared code-generation backend is macOS AArch64. docs/.data/optimizer-release-inventory.json binds it to normal/no-GIL/TSan differentials, lifetime evidence, the terminal PR-249 inventory, explicit unsupported-host builds, and the dated raw JavaScriptCore comparison. Closure commit: 9e51e1ff.