1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-28 16:20:57 -05:00

chore(ext/node): remove old vm ops (#24187)

Unused; before the recent rewrite of node:vm
This commit is contained in:
Divy Srivastava 2024-06-13 09:19:33 +05:30 committed by GitHub
parent efb2085b61
commit 5bcb46cacf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 2 additions and 49 deletions

View file

@ -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;

View file

@ -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;
@ -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()
}
})
}

View file

@ -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;