vm.sx feature parity: JIT dispatch, active VM tracking, CEK fallback
Add missing features to lib/vm.sx that sx_vm.ml has: - *active-vm* mutable global for HO primitive callback VM reuse - *jit-compile-fn* platform-settable JIT compilation hook - try-jit-call: check lambda-compiled, attempt JIT, fallback to CEK - vm-call: VmClosure→push-frame, Lambda→try-jit, Component→CEK - vm-call-closure: save/restore *active-vm* around execution - vm-push-frame: refactored to use accessor functions - cek-call-or-suspend: preamble-provided CEK interop Transpiled output (sx_vm_ref.ml) now has 12 functions (was 9): *active-vm*, *jit-compile-fn*, try-jit-call, vm-call, vm-resolve-ho-form, vm-call-external, env-walk, env-walk-set!, vm-run, vm-step, vm-call-closure, vm-execute-module 48 preamble functions (native OCaml type access). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -70,6 +70,10 @@ SKIP = {
|
||||
# Complex native ops
|
||||
"vm-push-frame", "code-from-value", "vm-closure?",
|
||||
"vm-create-closure",
|
||||
# Lambda accessors (native type)
|
||||
"lambda?", "lambda-compiled", "lambda-set-compiled!", "lambda-name",
|
||||
# CEK interop
|
||||
"cek-call-or-suspend",
|
||||
# Collection helpers (use mutable state + recursion)
|
||||
"collect-n-from-stack", "collect-n-pairs", "pad-n-nils",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user