Cider Isn't Darwin Emulation, Really

feat(rust): persistent-thread doWork loop (one thread serves many calls) master

The multi-call half of bucket B.2 (plan/rust-rewrite-eval.md): the real darlingserver Thread model, where one long-lived guest thread serves many RPC calls over its lifetime, parking between them and resuming on the same stack, rather than a fresh microthread per call. - thread_call_loop_demo: one guest thread runs a doWork loop (wait for a call, dispatch it, post the reply, park for the next). The daemon drives it with run_thread / wake_thread, feeding 3 task_self_trap calls through the generated dispatch. A per-thread stack counter reaches 3 and every reply names the same task self port (0x103), proving the SAME thread served them all with state preserved -> THREAD_LOOP_OK. - flake check: run thread_call_loop_demo. Fourteen demos green. Cross-task mach_msg (a message between two different guest tasks) is deferred: it needs cross-space port-right transfer, which is the bootstrap problem and would widen the frozen dtape boundary with a new C helper. The IPC engine itself is proven by the loopback + the blocking cross-thread receive. Signed-off-by: Niclas Overby <niclas@overby.me>


Author Niclas Overby Date Commit f2563179 Parent c9b1a9f0 Change ID zspsqmpl
+130 -6
3 changed files