refactor: realm 与 Vm 生命周期解耦,Vm 持 Arc<Realm>

This commit is contained in:
2026-10-07 01:35:16 +00:00
parent 14ef287a75
commit c6bc93a076
39 changed files with 796 additions and 676 deletions
+5 -5
View File
@@ -45,8 +45,8 @@ impl oxide_runtime_api::VmHost for Vm {
fn kernel_core(&self) -> &Arc<KernelCore> {
self.kernel_core()
}
fn session(&self) -> &KernelSession {
&self.realm.session
fn session(&self) -> std::cell::Ref<'_, KernelSession> {
self.session()
}
fn pc(&self) -> usize {
self.pc
@@ -189,9 +189,9 @@ impl oxide_runtime_api::VmHost for Vm {
return false;
}
let p = proto.as_js_object_ptr() as *const JsObject;
std::ptr::eq(p, self.realm.generator_function_proto.as_ptr())
|| std::ptr::eq(p, self.realm.async_function_proto.as_ptr())
|| std::ptr::eq(p, self.realm.async_generator_function_proto.as_ptr())
std::ptr::eq(p, self.realm.generator_function_proto.borrow().as_ptr())
|| std::ptr::eq(p, self.realm.async_function_proto.borrow().as_ptr())
|| std::ptr::eq(p, self.realm.async_generator_function_proto.borrow().as_ptr())
}
fn step_rng(&mut self) {
self.step_rng()