jolt build: --opt mode turns on the inference passes (Phase 4 stage 4a)
Wire the optimization gate to build mode. inline-enabled? (which gates the inference + flatten-lets + scalar-replace passes in jolt.passes/run-passes) was hardwired off, so those passes had never run on Chez at all. host-contract now exposes a settable hc-optimize? flag; `jolt build --opt` flips it on during app emission. Kept off for the default release build for now: the passes are sound by design (RFC 0005/0006) but unexercised on Chez, so release stays on the proven var-deref codegen until they're validated against the corpus. --opt is the opt-in fast path. buildsmoke checks both modes produce the same result. This does not yet deliver direct call binding — the backend has no direct-link emission path (every :var call still routes through jolt-invoke/var-deref) and the inline-ir host stash is still a stub. Those are the remaining stage-4 levers.
This commit is contained in:
parent
43778eafd7
commit
f66925d3a8
3 changed files with 26 additions and 5 deletions
|
|
@ -22,11 +22,22 @@ want='HELLO FROM A BUILT BINARY!
|
|||
HELLO FROM A BUILT BINARY!
|
||||
args: [alpha bb ccc]
|
||||
sum: 10'
|
||||
if [ "$got" = "$want" ]; then
|
||||
echo "build smoke: passed"
|
||||
else
|
||||
if [ "$got" != "$want" ]; then
|
||||
echo " FAIL: binary output mismatch"
|
||||
echo "--- want ---"; echo "$want"
|
||||
echo "--- got ----"; echo "$got"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Optimized mode (inference + flatten + scalar-replace) must produce the same
|
||||
# result — a sanity check that the passes don't miscompile this app.
|
||||
if ! JOLT_PWD="$app" bin/joltc build -m app.core -o "$out" --opt >/dev/null 2>&1; then
|
||||
echo " FAIL: jolt build --opt exited non-zero"; exit 1
|
||||
fi
|
||||
got_opt="$(cd / && "$out" alpha bb ccc 2>&1)"
|
||||
if [ "$got_opt" != "$want" ]; then
|
||||
echo " FAIL: --opt binary output mismatch"
|
||||
echo "--- got ----"; echo "$got_opt"
|
||||
exit 1
|
||||
fi
|
||||
echo "build smoke: passed (release + optimized)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue