self-host: JOLT_SELFHOST suite mode; keep analyzer interpreted for now

suite-worker honors JOLT_SELFHOST=1 to route the clojure-test-suite through the
self-hosted pipeline (for validating once the analyzer compiles).

The analyzer stays interpreted: compiling it via the bootstrap miscompiles
(qualified refs regressed compile mode 3932->1181; compile-loading yields
corrupted IR) — tracked in jolt-4xc. Correctness is unaffected (the self-hosted
pipeline passes 218/218 conformance); only speed is pending.
This commit is contained in:
Yogthos 2026-06-06 06:41:36 -04:00
parent f9df794475
commit b6e41bf499
2 changed files with 14 additions and 2 deletions

View file

@ -157,7 +157,10 @@
(defn- ensure-analyzer [ctx]
# Load jolt.analyzer (and transitively jolt.ir) once; jolt.host is pre-installed
# by host/install! so its require is a no-op.
# by host/install! so its require is a no-op. The analyzer currently runs
# INTERPRETED — compiling it via the bootstrap is blocked by bootstrap
# miscompilation bugs on the constructs it uses (tracked); correctness is fine,
# speed is the open item.
(when (= 0 (length ((ctx-find-ns ctx "jolt.analyzer") :mappings)))
(eval-form ctx @{} (r/parse-string "(require '[jolt.analyzer])"))))