1.2 KiB
1.2 KiB
Smoke Matrix (Backends)
Policy
- PyVM: partial coverage only (no async/nowait/await/GC/sync). Used for semantics sanity.
- LLVM: full coverage via llvmlite harness. Preferred path for async/nowait and Stage-3 control-flow.
- JIT: not maintained for these smokes (skip).
Curated Smokes
- Core (LLVM):
examples/llvm11_core_smoke.nyash - Async (LLVM only):
apps/tests/async-await-min/main.nyashapps/tests/async-spawn-instance/main.nyashapps/tests/async-await-timeout-fixed/main.nyash(setNYASH_AWAIT_MAX_MS=100)
Runner Scripts
tools/smokes/curated_llvm.sh [--phi-off]--phi-off: enablesNYASH_MIR_NO_PHI=1+ verifier relaxor.
- Archived (not maintained): see
tools/smokes/archive/smoke_phase_10_10.sh,smoke_vm_jit.sh,smoke_async_spawn.sh,jit_smoke.sh,aot_smoke_cranelift.sh- These target JIT/Cranelift-era flows. Use the curated LLVM runner instead.
Flags
NYASH_LLVM_USE_HARNESS=1: use llvmlite harness for AOT.NYASH_MIR_NO_PHI=1andNYASH_VERIFY_ALLOW_NO_PHI=1: PHI-less MIR (edge-copy) mode.
Notes
- Marked async smokes should not be run under PyVM/JIT.
- Legacy/archived smokes may exist; curated runner avoids them.