giles
089ed88f54
Merge loops/sx-vm-extensions into architecture: serving-mode JIT (opt-in)
Brings the bytecode JIT to the persistent epoch serving mode, gated opt-in via
SX_SERVING_JIT=1 (default OFF → zero change for existing loops). Includes the
correctness fixes that make the JIT match the CEK interpreter, and the
interpret-only exclusions that keep continuation-based guest interpreters safe.
Kernel / shared:
- SX_SERVING_JIT gate in sx_server.ml (loads lib/compiler.sx + register_jit_hook
only when opted in).
- compiler.sx-as-`compile` correctness: else-symbol in compile-cond/case/guard;
OP_DIV rational; OP_EQ/_fast_eq rational+ListRef; callable? accepts VmClosure.
- Three composable interpret-only signals in jit_compile_lambda:
(1) jit-exclude! name / "ns-*" prefix; (2) PUSH_HANDLER recursive bytecode
scan (guard/handler-bind/Dream catch); (3) jit-exclude-callers-of! +
code_refs_escaping_caller (call/cc-establishing form callers).
Per-guest interpret-only declarations in each guest runtime: smalltalk (dispatch
core + pharo-test-class), scheme (scheme-*/scm-*), erlang (er-*/erlang-*),
prolog (pl-*), common-lisp (cl-*/clos-* + condition-form callers), js
(js-*/jp-*), haskell (hk-*).
Verified under SX_SERVING_JIT=1 (== CEK, no hang): host 181, smalltalk 847,
scheme/flow 166, erlang 530, prolog 590/mod 390, haskell 285, common-lisp 487,
js 148, apl 152, datalog/forth/ocaml. run_tests --jit 4813/1131 (was 4809/1135,
improved), no-jit 4834/1110 (unchanged). Default-OFF gate => no loop regresses.
2026-06-28 17:05:31 +00:00
..
2026-06-28 16:57:55 +00:00
2026-06-07 15:09:37 +00:00
2026-06-06 22:44:28 +00:00
2026-05-11 21:19:06 +00:00
2026-06-07 12:34:30 +00:00
2026-06-07 13:40:02 +00:00
2026-06-07 14:49:15 +00:00
2026-05-11 09:40:29 +00:00
2026-06-07 15:20:55 +00:00
2026-05-18 22:01:03 +00:00
2026-06-07 20:03:07 +00:00
2026-05-14 20:45:05 +00:00
2026-06-07 14:43:54 +00:00
2026-06-05 21:10:29 +00:00
2026-06-28 16:51:48 +00:00
2026-06-06 17:00:10 +00:00
2026-06-06 19:33:04 +00:00
2026-05-28 03:48:07 +00:00
2026-05-10 19:11:36 +00:00
2026-06-06 17:39:29 +00:00
2026-05-12 21:33:50 +00:00
2026-05-14 07:26:43 +00:00
2026-06-07 14:12:10 +00:00
2026-05-08 22:27:50 +00:00
2026-06-28 16:32:17 +00:00
2026-05-08 23:57:53 +00:00
2026-05-08 14:23:45 +00:00
2026-05-12 20:47:05 +00:00
2026-05-14 07:55:08 +00:00
2026-05-12 21:14:28 +00:00
2026-05-12 07:04:17 +00:00
2026-05-28 03:14:12 +00:00
2026-05-28 03:14:12 +00:00
2026-05-12 19:41:29 +00:00
2026-05-08 22:27:50 +00:00
2026-05-08 22:27:50 +00:00
2026-05-08 22:27:50 +00:00
2026-05-09 13:03:05 +00:00
2026-05-09 14:20:28 +00:00
2026-06-07 09:10:57 +00:00
2026-05-11 05:54:39 +00:00
2026-06-06 22:56:27 +00:00
2026-05-08 22:27:50 +00:00
2026-06-07 13:43:20 +00:00
2026-05-08 22:27:50 +00:00
2026-05-08 22:27:50 +00:00
2026-05-08 22:27:50 +00:00
2026-05-08 22:27:50 +00:00
2026-05-08 22:27:50 +00:00
2026-06-07 15:09:37 +00:00
2026-05-14 06:53:36 +00:00
2026-06-07 00:46:22 +00:00
2026-05-15 01:53:39 +00:00
2026-05-08 22:55:20 +00:00