Skip to content

Commit

Permalink
chore(ext/node): remove old vm ops (denoland#24187)
Browse files Browse the repository at this point in the history
Unused; before the recent rewrite of node:vm
  • Loading branch information
littledivy committed Jun 13, 2024
1 parent efb2085 commit 5bcb46c
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 49 deletions.
2 changes: 1 addition & 1 deletion ext/node/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ mod resolution;

pub use ops::ipc::ChildPipeFd;
pub use ops::ipc::IpcJsonStreamResource;
pub use ops::v8::VM_CONTEXT_INDEX;
use ops::vm;
pub use ops::vm::create_v8_context;
pub use ops::vm::init_global_template;
pub use ops::vm::ContextInitMode;
pub use ops::vm::VM_CONTEXT_INDEX;
pub use package_json::PackageJson;
pub use path::PathClean;
pub use polyfill::is_builtin_node_module;
Expand Down
48 changes: 0 additions & 48 deletions ext/node/ops/v8.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
use deno_core::error::AnyError;
use deno_core::op2;
use deno_core::v8;

Expand Down Expand Up @@ -31,50 +30,3 @@ pub fn op_v8_get_heap_statistics(
buffer[12] = stats.used_global_handles_size() as f64;
buffer[13] = stats.external_memory() as f64;
}

pub const VM_CONTEXT_INDEX: usize = 0;

fn make_context<'a>(
scope: &mut v8::HandleScope<'a>,
) -> v8::Local<'a, v8::Context> {
let scope = &mut v8::EscapableHandleScope::new(scope);
let context = v8::Context::from_snapshot(scope, VM_CONTEXT_INDEX).unwrap();
scope.escape(context)
}

#[op2]
pub fn op_vm_run_in_new_context<'a>(
scope: &mut v8::HandleScope<'a>,
script: v8::Local<v8::String>,
ctx_val: v8::Local<v8::Value>,
) -> Result<v8::Local<'a, v8::Value>, AnyError> {
let _ctx_obj = if ctx_val.is_undefined() || ctx_val.is_null() {
v8::Object::new(scope)
} else {
ctx_val.try_into()?
};

let ctx = make_context(scope);

let scope = &mut v8::ContextScope::new(scope, ctx);

let tc_scope = &mut v8::TryCatch::new(scope);
let script = match v8::Script::compile(tc_scope, script, None) {
Some(s) => s,
None => {
assert!(tc_scope.has_caught());
tc_scope.rethrow();
return Ok(v8::undefined(tc_scope).into());
}
};

Ok(match script.run(tc_scope) {
Some(result) => result,
None => {
assert!(tc_scope.has_caught());
tc_scope.rethrow();

v8::undefined(tc_scope).into()
}
})
}
1 change: 1 addition & 0 deletions ext/node/ops/vm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ use super::vm_internal as i;
pub use i::create_v8_context;
pub use i::init_global_template;
pub use i::ContextInitMode;
pub use i::VM_CONTEXT_INDEX;

pub use i::DEFINER_MAP_FN;
pub use i::DELETER_MAP_FN;
Expand Down

0 comments on commit 5bcb46c

Please sign in to comment.