You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build a genuinely fast no-JIT execution tier for platforms, deployments, and security policies that cannot publish executable memory.
Current boundary
The tree-walker is the semantic baseline and the VM primarily provides suspend/resume, deep recursion, proper tail calls, and native-tier substrate. Existing quick kernels accelerate selected shapes, but there is no declared broad no-JIT performance contract. #465 makes correct code bytecode-eligible; this issue makes that bytecode competitive without executable mappings.
Bound quickened metadata/code growth and reset it safely on invalidation, realm teardown, memory pressure, or changed assumptions.
Publish no-JIT cold/warm, code/metadata memory, latency, and 1/8-context evidence independently from JIT results.
No-workaround rules
No source/function/benchmark recognizer, giant semantic-shape kernel, computed-result cache, disabled checks/hooks/GC, unsafe direct object storage, or fallback to a native executable mapping.
A quick path must be a general bytecode/runtime specialization with exact miss and dequickening behavior.
Acceptance
A machine-readable bytecode/quickening coverage and rejection inventory names every specialization and remaining dispatch family.
Forced tree-walker/VM and quickening-off/on differentials match result, exception, effects, steps, jobs, debugger behavior, OOM, termination, and teardown.
Moving GC, no-GIL, TSan, test262, PR-249, generators/async, threadfuzz, and fault gates pass with JIT unavailable.
No-JIT performance and memory are published for every declared restricted platform; fallback is not counted as a native-tier success.
Foundation
Existing VM quickening and activation-stack work live in src/vm.zig; current architectural boundary is documented in docs/architecture.md and docs/advanced/execution-tiers.md.
Parent: #459
Depends on: #465, #461
Related: #466, #481, #500
Goal
Build a genuinely fast no-JIT execution tier for platforms, deployments, and security policies that cannot publish executable memory.
Current boundary
The tree-walker is the semantic baseline and the VM primarily provides suspend/resume, deep recursion, proper tail calls, and native-tier substrate. Existing quick kernels accelerate selected shapes, but there is no declared broad no-JIT performance contract. #465 makes correct code bytecode-eligible; this issue makes that bytecode competitive without executable mappings.
Scope
No-workaround rules
Acceptance
Foundation
Existing VM quickening and activation-stack work live in
src/vm.zig; current architectural boundary is documented indocs/architecture.mdanddocs/advanced/execution-tiers.md.