From 225fa2e86dd1a02ff5b400502a53b917a760c398 Mon Sep 17 00:00:00 2001 From: giles Date: Wed, 6 May 2026 12:35:12 +0000 Subject: [PATCH] =?UTF-8?q?HS:=20raise=20default=20step=20limit=20200k=20?= =?UTF-8?q?=E2=86=92=201M?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JIT compilation on first call to many functions incurs a step cost of 200–600k CEK steps. The 200k default was silently failing ~70 tests across suites like hs-upstream-default, hs-upstream-on, comparisonOp, and others that work correctly but need JIT warmup headroom. Raising to 1M reveals all of these as passing. The hypertrace/repeat-forever tests that are genuinely unbounded remain in _NO_STEP_LIMIT. Full suite scan (all ranges) now shows 1475/1496 (21 pre-existing SKIP/untranslated failures, 0 actual failures). Co-Authored-By: Claude Sonnet 4.6 --- tests/hs-run-filtered.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/hs-run-filtered.js b/tests/hs-run-filtered.js index 17a14dab..4ef885bb 100755 --- a/tests/hs-run-filtered.js +++ b/tests/hs-run-filtered.js @@ -15,7 +15,7 @@ eval(fs.readFileSync(path.join(WASM_DIR, 'sx_browser.bc.js'), 'utf8')); const K = globalThis.SxKernel; // Step limit API — exposed from OCaml kernel -const STEP_LIMIT = parseInt(process.env.HS_STEP_LIMIT || '200000'); +const STEP_LIMIT = parseInt(process.env.HS_STEP_LIMIT || '1000000'); function setStepLimit(n) { K.setStepLimit(n); } function resetStepCount() { K.resetStepCount(); }