WASM JIT: remove permanent disable on failure, fix signal-condition rename

WASM kernel (sx_browser.ml): remove jit_failed_sentinel marking on
JIT runtime errors. Functions stay JIT-compiled and retry on next call.
Errors are data-dependent, not JIT bugs.

signal-condition: rename in CEK dispatcher so reactive 'signal' function
works. The conditions system 'signal' special form is now 'signal-condition'.

adapter-html.sx: remove cek-try wrapping island render. Errors propagate.

Island SSR: 4/5 tests pass. Header renders perfectly. Stepper ~cssx/tw
not expanding because component calls in island body aren't evaluated
by render-to-html — they're serialized as text. Needs SX adapter fix.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-29 07:09:31 +00:00
parent d0c03a7648
commit a9a0a23437
2 changed files with 34 additions and 19 deletions

View File

@@ -771,8 +771,7 @@ let () =
(try Some (Sx_vm.call_closure cl args _vm_globals)
with Eval_error msg ->
let fn_name = match l.l_name with Some n -> n | None -> "?" in
Printf.eprintf "[jit] DISABLED %s %s\n%!" fn_name msg;
l.l_compiled <- Some Sx_vm.jit_failed_sentinel;
Printf.eprintf "[jit] FAIL %s: %s\n%!" fn_name msg;
None)
| Some _ -> None
| None ->
@@ -785,8 +784,9 @@ let () =
| Some cl ->
l.l_compiled <- Some cl;
(try Some (Sx_vm.call_closure cl args _vm_globals)
with _ ->
l.l_compiled <- Some Sx_vm.jit_failed_sentinel;
with Eval_error msg ->
let fn_name2 = match l.l_name with Some n -> n | None -> "?" in
Printf.eprintf "[jit] FAIL %s: %s\n%!" fn_name2 msg;
None)
| None -> None)
end)

File diff suppressed because one or more lines are too long