diff options
| author | snek <snek@deno.com> | 2024-08-05 08:28:12 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-05 08:28:12 -0700 |
| commit | 649725442ad39d3ec2963f668c3ecfb3bb81a4c2 (patch) | |
| tree | 497a3873fa82bf40b0ffe842a620530e10346267 /ext/node | |
| parent | e97764e7ecfea960987b63a550fb45bc3d2171da (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.rs | 16 | ||||
| -rw-r--r-- | ext/node/ops/vm.rs | 2 | ||||
| -rw-r--r-- | ext/node/ops/vm_internal.rs | 18 |
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 }; |
