feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost>

This commit is contained in:
2026-06-25 22:38:23 +08:00
parent 2f330dbe45
commit f23d4e61b2
72 changed files with 1983 additions and 1595 deletions
+8 -8
View File
@@ -10,7 +10,7 @@ pub fn bind_map(core: &Arc<KernelCore>, session: &KernelSession, global: &mut Js
let ctor = unsafe { &mut *ctor_ptr };
let proto_ptr = session.builtin_world().map_proto.as_ptr() as *mut JsObject;
configure_native_constructor(ctor, crate::builtins::map::map_constructor as *const (), 1);
configure_native_constructor(ctor, oxide_builtins::map::map_constructor::<crate::vm::Vm> as *const (), 1);
let proto = unsafe { &mut *proto_ptr };
apply_binding_table(
@@ -18,14 +18,14 @@ pub fn bind_map(core: &Arc<KernelCore>, session: &KernelSession, global: &mut Js
proto,
core,
&[
("set", crate::builtins::map::map_set as *const (), 2),
("get", crate::builtins::map::map_get as *const (), 1),
("has", crate::builtins::map::map_has as *const (), 1),
("delete", crate::builtins::map::map_delete as *const (), 1),
("clear", crate::builtins::map::map_clear as *const (), 0),
("size", crate::builtins::map::map_size as *const (), 0),
("set", oxide_builtins::map::map_set::<crate::vm::Vm> as *const (), 2),
("get", oxide_builtins::map::map_get::<crate::vm::Vm> as *const (), 1),
("has", oxide_builtins::map::map_has::<crate::vm::Vm> as *const (), 1),
("delete", oxide_builtins::map::map_delete::<crate::vm::Vm> as *const (), 1),
("clear", oxide_builtins::map::map_clear::<crate::vm::Vm> as *const (), 0),
("size", oxide_builtins::map::map_size::<crate::vm::Vm> as *const (), 0),
],
);
bind_constructor!(core, global, "Map", ctor_ptr, crate::builtins::map::map_constructor, 1, hash: true);
bind_constructor!(core, global, "Map", ctor_ptr, oxide_builtins::map::map_constructor::<crate::vm::Vm>, 1, hash: true);
}