summaryrefslogtreecommitdiff
path: root/ext/node
diff options
context:
space:
mode:
authorsnek <snek@deno.com>2024-08-05 08:28:12 -0700
committerGitHub <noreply@github.com>2024-08-05 08:28:12 -0700
commit649725442ad39d3ec2963f668c3ecfb3bb81a4c2 (patch)
tree497a3873fa82bf40b0ffe842a620530e10346267 /ext/node
parente97764e7ecfea960987b63a550fb45bc3d2171da (diff)
feat: upgrade deno_core (#24886)
Fixes: https://github.com/denoland/deno/issues/24869 Includes changes for `node:vm` rewrite.
Diffstat (limited to 'ext/node')
-rw-r--r--ext/node/global.rs16
-rw-r--r--ext/node/ops/vm.rs2
-rw-r--r--ext/node/ops/vm_internal.rs18
3 files changed, 22 insertions, 14 deletions
diff --git a/ext/node/global.rs b/ext/node/global.rs
index 2434a64fd..0fc215bd4 100644
--- a/ext/node/global.rs
+++ b/ext/node/global.rs
@@ -207,7 +207,7 @@ pub fn global_object_middleware<'s>(
deno_globals,
node_globals,
};
- scope.get_current_context().set_slot(scope, storage);
+ scope.get_current_context().set_slot(storage);
}
fn is_managed_key(
@@ -269,7 +269,7 @@ pub fn getter<'s>(
let context = scope.get_current_context();
let inner = {
- let storage = context.get_slot::<GlobalsStorage>(scope).unwrap();
+ let storage = context.get_slot::<GlobalsStorage>().unwrap();
storage.inner_for_mode(mode)
};
let inner = v8::Local::new(scope, inner);
@@ -302,7 +302,7 @@ pub fn setter<'s>(
let context = scope.get_current_context();
let inner = {
- let storage = context.get_slot::<GlobalsStorage>(scope).unwrap();
+ let storage = context.get_slot::<GlobalsStorage>().unwrap();
storage.inner_for_mode(mode)
};
let inner = v8::Local::new(scope, inner);
@@ -329,7 +329,7 @@ pub fn query<'s>(
let context = scope.get_current_context();
let inner = {
- let storage = context.get_slot::<GlobalsStorage>(scope).unwrap();
+ let storage = context.get_slot::<GlobalsStorage>().unwrap();
storage.inner_for_mode(mode)
};
let inner = v8::Local::new(scope, inner);
@@ -361,7 +361,7 @@ pub fn deleter<'s>(
let context = scope.get_current_context();
let inner = {
- let storage = context.get_slot::<GlobalsStorage>(scope).unwrap();
+ let storage = context.get_slot::<GlobalsStorage>().unwrap();
storage.inner_for_mode(mode)
};
let inner = v8::Local::new(scope, inner);
@@ -390,7 +390,7 @@ pub fn enumerator<'s>(
let context = scope.get_current_context();
let inner = {
- let storage = context.get_slot::<GlobalsStorage>(scope).unwrap();
+ let storage = context.get_slot::<GlobalsStorage>().unwrap();
storage.inner_for_mode(mode)
};
let inner = v8::Local::new(scope, inner);
@@ -424,7 +424,7 @@ pub fn definer<'s>(
let context = scope.get_current_context();
let inner = {
- let storage = context.get_slot::<GlobalsStorage>(scope).unwrap();
+ let storage = context.get_slot::<GlobalsStorage>().unwrap();
storage.inner_for_mode(mode)
};
let inner = v8::Local::new(scope, inner);
@@ -458,7 +458,7 @@ pub fn descriptor<'s>(
let context = scope.get_current_context();
let inner = {
- let storage = context.get_slot::<GlobalsStorage>(scope).unwrap();
+ let storage = context.get_slot::<GlobalsStorage>().unwrap();
storage.inner_for_mode(mode)
};
let inner = v8::Local::new(scope, inner);
diff --git a/ext/node/ops/vm.rs b/ext/node/ops/vm.rs
index 860498f5a..d9a16eeff 100644
--- a/ext/node/ops/vm.rs
+++ b/ext/node/ops/vm.rs
@@ -145,7 +145,7 @@ mod tests {
let isolate = &mut v8::Isolate::new(Default::default());
let scope = &mut v8::HandleScope::new(isolate);
- let context = v8::Context::new(scope);
+ let context = v8::Context::new(scope, Default::default());
let scope = &mut v8::ContextScope::new(scope, context);
let source = v8::String::new(scope, "1 + 2").unwrap();
diff --git a/ext/node/ops/vm_internal.rs b/ext/node/ops/vm_internal.rs
index ca3cac41f..f61308228 100644
--- a/ext/node/ops/vm_internal.rs
+++ b/ext/node/ops/vm_internal.rs
@@ -35,11 +35,12 @@ impl ContextifyScript {
false,
Some(host_defined_options),
);
- let source = v8::script_compiler::Source::new(source_str, Some(&origin));
+ let mut source =
+ v8::script_compiler::Source::new(source_str, Some(&origin));
let unbound_script = v8::script_compiler::compile_unbound_script(
scope,
- source,
+ &mut source,
v8::script_compiler::CompileOptions::NoCompileOptions,
v8::script_compiler::NoCacheReason::NoReason,
)
@@ -226,15 +227,22 @@ pub fn create_v8_context<'a>(
let scope = &mut v8::EscapableHandleScope::new(scope);
let context = if mode == ContextInitMode::UseSnapshot {
- v8::Context::from_snapshot(scope, VM_CONTEXT_INDEX).unwrap()
+ v8::Context::from_snapshot(scope, VM_CONTEXT_INDEX, Default::default())
+ .unwrap()
} else {
- let ctx = v8::Context::new_from_template(scope, object_template);
+ let ctx = v8::Context::new(
+ scope,
+ v8::ContextOptions {
+ global_template: Some(object_template),
+ ..Default::default()
+ },
+ );
// SAFETY: ContextifyContexts will update this to a pointer to the native object
unsafe {
ctx.set_aligned_pointer_in_embedder_data(1, std::ptr::null_mut());
ctx.set_aligned_pointer_in_embedder_data(2, std::ptr::null_mut());
ctx.set_aligned_pointer_in_embedder_data(3, std::ptr::null_mut());
- ctx.clear_all_slots(scope);
+ ctx.clear_all_slots();
};
ctx
};