mirror of
https://github.com/denoland/deno.git
synced 2024-11-24 15:19:26 -05:00
chore(ext/node): remove old vm ops (#24187)
Unused; before the recent rewrite of node:vm
This commit is contained in:
parent
efb2085b61
commit
5bcb46cacf
3 changed files with 2 additions and 49 deletions
|
@ -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;
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue