refactor: 提取 Realm 组合类型,session 与 GC 及原型槽归 realm

This commit is contained in:
2026-10-07 00:10:27 +00:00
parent add910a504
commit 14ef287a75
31 changed files with 598 additions and 567 deletions
+4 -4
View File
@@ -46,7 +46,7 @@ impl oxide_runtime_api::VmHost for Vm {
self.kernel_core()
}
fn session(&self) -> &KernelSession {
self.session()
&self.realm.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.generator_function_proto.as_ptr())
|| std::ptr::eq(p, self.async_function_proto.as_ptr())
|| std::ptr::eq(p, self.async_generator_function_proto.as_ptr())
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())
}
fn step_rng(&mut self) {
self.step_rng()