Post-deletion cleanup (units run only on wasm): - types.h/compiler.cpp: drop the native-era SharedUnit fields so_name, bin_file_name, and the opt_so_optional cache-mode plumbing (no native optional .so path remains). The per-unit compile lock is re-keyed from so_name+.lock to wasm_name+.lock (still per-unit). - unit_info() and to_string(SharedUnit*) no longer expose .so artifact fields. - backend.h: drop the stale "+ fallback-token gate" comment. - Docs/comments corrected to wasm-only reality: README, tests/README, site/doc C++ preprocessor + error_pages + unit_info pages, site/info intro, site/demo/unit-browser artifact card; the Phase-5 native-vs-wasm benchmark harness (tests/wasm_benchmark.py) reframed for the wasm-only backend. Audit confirmed no live references remain to so_handle, load_shared_unit, compiler_load_shared_unit, compiler_invoke*/_cli/_websocket/_serve_http, COMPILE_SCRIPT/COMPILE_WASM_UNITS, or the native export-symbol constants; request_ref_handler/dv_call_handler are kept (live wasm funcref casts). Swept via the pi agent (delegated to a gpt-5.3-codex-spark sub-model); independently re-verified on the host: run_cli_tests --include-wasm-kill => 87 passed, 0 failed, 0 skipped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
54 lines
1.4 KiB
Bash
Executable File
54 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Batch-build W2 wasm side modules for already-known/generated UCE units.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/../.."
|
|
|
|
BIN_DIR=${UCE_BIN_DIRECTORY:-/tmp/uce/work}
|
|
KNOWN_FILE=${UCE_KNOWN_UNITS_FILE:-$BIN_DIR/known-uce-files.txt}
|
|
MIN_UNITS=${UCE_W2_MIN_UNITS:-1}
|
|
|
|
if [ "$#" -gt 0 ]; then
|
|
UNITS=("$@")
|
|
else
|
|
if [ ! -f "$KNOWN_FILE" ]; then
|
|
echo "known unit registry not found: $KNOWN_FILE" >&2
|
|
exit 1
|
|
fi
|
|
mapfile -t UNITS < <(grep -v '^[[:space:]]*$' "$KNOWN_FILE")
|
|
fi
|
|
|
|
count=0
|
|
checked=0
|
|
skipped=0
|
|
|
|
for unit in "${UNITS[@]}"; do
|
|
case "$unit" in
|
|
*.uce|*.ws.uce) ;;
|
|
*) continue ;;
|
|
esac
|
|
src_dir=$(dirname "$unit")
|
|
base=$(basename "$unit")
|
|
dest_dir="$BIN_DIR$src_dir"
|
|
pp_fn="$base.cpp"
|
|
wasm_fn="$base.wasm"
|
|
if [ ! -f "$dest_dir/$pp_fn" ]; then
|
|
echo "missing preprocessed unit: $dest_dir/$pp_fn" >&2
|
|
exit 1
|
|
fi
|
|
if [ -s "$dest_dir/$wasm_fn" ] && [ "$dest_dir/$wasm_fn" -nt "$dest_dir/$pp_fn" ] && [ "$dest_dir/$wasm_fn" -nt "$unit" ]; then
|
|
scripts/wasm/check_unit_wasm.py "$dest_dir/$wasm_fn"
|
|
skipped=$((skipped + 1))
|
|
else
|
|
scripts/compile_wasm_unit "$src_dir" "$dest_dir" "$unit" "$pp_fn" "$wasm_fn"
|
|
count=$((count + 1))
|
|
fi
|
|
checked=$((checked + 1))
|
|
done
|
|
|
|
if [ "$checked" -lt "$MIN_UNITS" ]; then
|
|
echo "checked only $checked wasm units, expected at least $MIN_UNITS" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "W2 batch wasm units: checked=$checked compiled=$count reused=$skipped"
|