diff options
author | snek <snek@deno.com> | 2024-08-06 14:52:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-06 12:52:53 +0000 |
commit | 897159dc6e1b2319cf2f5f09d8d6cecc0d3175fa (patch) | |
tree | cfe4a043d1fc102a4e051b99c7fcbef7b79bbb91 /ext/node/lib.rs | |
parent | c0e9512b39a4ed3713d1fd9b28469d0edf68f578 (diff) |
feat: vm rewrite (#24596)
rewrite vm implementation to increase compat.
vm.Module+importModuleDynamically callbacks should be added in a
followup.
Diffstat (limited to 'ext/node/lib.rs')
-rw-r--r-- | ext/node/lib.rs | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/ext/node/lib.rs b/ext/node/lib.rs index a4a757996..00070fae9 100644 --- a/ext/node/lib.rs +++ b/ext/node/lib.rs @@ -303,8 +303,10 @@ deno_core::extension!(deno_node, ops::vm::op_vm_create_script, ops::vm::op_vm_create_context, ops::vm::op_vm_script_run_in_context, - ops::vm::op_vm_script_run_in_this_context, ops::vm::op_vm_is_context, + ops::vm::op_vm_compile_function, + ops::vm::op_vm_script_get_source_map_url, + ops::vm::op_vm_script_create_cached_data, ops::idna::op_node_idna_domain_to_ascii, ops::idna::op_node_idna_domain_to_unicode, ops::idna::op_node_idna_punycode_to_ascii, @@ -620,7 +622,7 @@ deno_core::extension!(deno_node, "node:util" = "util.ts", "node:util/types" = "util/types.ts", "node:v8" = "v8.ts", - "node:vm" = "vm.ts", + "node:vm" = "vm.js", "node:worker_threads" = "worker_threads.ts", "node:zlib" = "zlib.ts", ], @@ -643,6 +645,11 @@ deno_core::extension!(deno_node, customizer = |ext: &mut deno_core::Extension| { let mut external_references = Vec::with_capacity(14); + vm::QUERY_MAP_FN.with(|query| { + external_references.push(ExternalReference { + named_query: *query, + }); + }); vm::GETTER_MAP_FN.with(|getter| { external_references.push(ExternalReference { named_getter: *getter, @@ -653,6 +660,11 @@ deno_core::extension!(deno_node, named_setter: *setter, }); }); + vm::DESCRIPTOR_MAP_FN.with(|descriptor| { + external_references.push(ExternalReference { + named_getter: *descriptor, + }); + }); vm::DELETER_MAP_FN.with(|deleter| { external_references.push(ExternalReference { named_deleter: *deleter, @@ -668,12 +680,12 @@ deno_core::extension!(deno_node, named_definer: *definer, }); }); - vm::DESCRIPTOR_MAP_FN.with(|descriptor| { + + vm::INDEXED_QUERY_MAP_FN.with(|query| { external_references.push(ExternalReference { - named_getter: *descriptor, + indexed_query: *query, }); }); - vm::INDEXED_GETTER_MAP_FN.with(|getter| { external_references.push(ExternalReference { indexed_getter: *getter, @@ -684,6 +696,11 @@ deno_core::extension!(deno_node, indexed_setter: *setter, }); }); + vm::INDEXED_DESCRIPTOR_MAP_FN.with(|descriptor| { + external_references.push(ExternalReference { + indexed_getter: *descriptor, + }); + }); vm::INDEXED_DELETER_MAP_FN.with(|deleter| { external_references.push(ExternalReference { indexed_deleter: *deleter, @@ -694,9 +711,9 @@ deno_core::extension!(deno_node, indexed_definer: *definer, }); }); - vm::INDEXED_DESCRIPTOR_MAP_FN.with(|descriptor| { + vm::INDEXED_ENUMERATOR_MAP_FN.with(|enumerator| { external_references.push(ExternalReference { - indexed_getter: *descriptor, + enumerator: *enumerator, }); }); |