refactor: 动态编译改经 CompilerService 注入,oxide_vm 去编译器依赖

This commit is contained in:
2026-10-08 05:51:58 +00:00
parent 66735f802f
commit 4f9b6ab444
94 changed files with 459 additions and 67 deletions
+9 -1
View File
@@ -13,6 +13,7 @@ use std::sync::atomic::{AtomicUsize, Ordering};
use std::sync::{mpsc, Arc, Mutex};
use std::thread::JoinHandle;
use oxide_compiler::DefaultCompilerService;
use oxide_kernel::kernel::KernelCore;
use oxide_vm::vm_pool::{PoolCounters, VmPool};
@@ -111,7 +112,14 @@ pub fn spawn_workers(
let counters = Arc::clone(&counters);
handles.push(std::thread::spawn(move || {
// 池在本线程上创建,永不跨线程移动(Vm 不是 Send)。
let pool = VmPool::with_counters(Arc::clone(&kernel), min_pool_size, max_pool_size, counters);
// 编译服务随池构造注入:worker 池内 Vm 的 eval 动态编译面由此供给。
let pool = VmPool::with_counters(
Arc::clone(&kernel),
Arc::new(DefaultCompilerService),
min_pool_size,
max_pool_size,
counters,
);
worker_loop(rx, kernel, pool);
}));
senders.push(tx);