summaryrefslogtreecommitdiff
path: root/core/ops_builtin_v8.rs
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2022-10-21 08:24:22 +0530
committerGitHub <noreply@github.com>2022-10-21 08:24:22 +0530
commitc007657cfda4e07ee3070919c0b629f874ba9106 (patch)
treed9cb64b8b2f22f9d5ea1133b40830b0abe32c10b /core/ops_builtin_v8.rs
parent4b6168d5e3a990e7982bcb1a8fb525f1141d8839 (diff)
Revert realms from deno_core (#16366)
This revert has been discussed at length out-of-band (including with @andreubotella). The realms work in impeding ongoing event loop and performance work. We very much want to land realms but it needs to wait until these lower-level refactors are complete. We hope to bring realms back in a couple weeks.
Diffstat (limited to 'core/ops_builtin_v8.rs')
-rw-r--r--core/ops_builtin_v8.rs40
1 files changed, 15 insertions, 25 deletions
diff --git a/core/ops_builtin_v8.rs b/core/ops_builtin_v8.rs
index 8629bbdbe..29ba4ec2b 100644
--- a/core/ops_builtin_v8.rs
+++ b/core/ops_builtin_v8.rs
@@ -8,7 +8,6 @@ use crate::ops_builtin::WasmStreamingResource;
use crate::resolve_url_or_path;
use crate::serde_v8::from_v8;
use crate::source_map::apply_source_map as apply_source_map_;
-use crate::JsRealm;
use crate::JsRuntime;
use crate::OpDecl;
use crate::ZeroCopyBuf;
@@ -74,14 +73,14 @@ fn to_v8_local_fn(
#[op(v8)]
fn op_ref_op(scope: &mut v8::HandleScope, promise_id: i32) {
- let context_state = JsRealm::state_from_scope(scope);
- context_state.borrow_mut().unrefed_ops.remove(&promise_id);
+ let state_rc = JsRuntime::state(scope);
+ state_rc.borrow_mut().unrefed_ops.remove(&promise_id);
}
#[op(v8)]
fn op_unref_op(scope: &mut v8::HandleScope, promise_id: i32) {
- let context_state = JsRealm::state_from_scope(scope);
- context_state.borrow_mut().unrefed_ops.insert(promise_id);
+ let state_rc = JsRuntime::state(scope);
+ state_rc.borrow_mut().unrefed_ops.insert(promise_id);
}
#[op(v8)]
@@ -112,8 +111,8 @@ fn op_set_promise_reject_callback<'a>(
cb: serde_v8::Value,
) -> Result<Option<serde_v8::Value<'a>>, Error> {
let cb = to_v8_fn(scope, cb)?;
- let realm_state_rc = JsRealm::state_from_scope(scope);
- let old = realm_state_rc.borrow_mut().js_promise_reject_cb.replace(cb);
+ let state_rc = JsRuntime::state(scope);
+ let old = state_rc.borrow_mut().js_promise_reject_cb.replace(cb);
let old = old.map(|v| v8::Local::new(scope, v));
Ok(old.map(|v| from_v8(scope, v.into()).unwrap()))
}
@@ -675,28 +674,22 @@ fn op_set_wasm_streaming_callback(
cb: serde_v8::Value,
) -> Result<(), Error> {
let cb = to_v8_fn(scope, cb)?;
- let realm_state_rc = JsRealm::state_from_scope(scope);
- let mut realm_state = realm_state_rc.borrow_mut();
+ let state_rc = JsRuntime::state(scope);
+ let mut state = state_rc.borrow_mut();
// The callback to pass to the v8 API has to be a unit type, so it can't
// borrow or move any local variables. Therefore, we're storing the JS
// callback in a JsRuntimeState slot.
- if realm_state.js_wasm_streaming_cb.is_some() {
+ if state.js_wasm_streaming_cb.is_some() {
return Err(type_error("op_set_wasm_streaming_callback already called"));
}
- realm_state.js_wasm_streaming_cb = Some(cb);
+ state.js_wasm_streaming_cb = Some(cb);
scope.set_wasm_streaming_callback(|scope, arg, wasm_streaming| {
let (cb_handle, streaming_rid) = {
- let realm_state_rc = JsRealm::state_from_scope(scope);
- let cb_handle = realm_state_rc
- .borrow()
- .js_wasm_streaming_cb
- .as_ref()
- .unwrap()
- .clone();
let state_rc = JsRuntime::state(scope);
- let streaming_rid = state_rc
- .borrow()
+ let state = state_rc.borrow();
+ let cb_handle = state.js_wasm_streaming_cb.as_ref().unwrap().clone();
+ let streaming_rid = state
.op_state
.borrow_mut()
.resource_table
@@ -829,11 +822,8 @@ fn op_set_format_exception_callback<'a>(
cb: serde_v8::Value<'a>,
) -> Result<Option<serde_v8::Value<'a>>, Error> {
let cb = to_v8_fn(scope, cb)?;
- let realm_state_rc = JsRealm::state_from_scope(scope);
- let old = realm_state_rc
- .borrow_mut()
- .js_format_exception_cb
- .replace(cb);
+ let state_rc = JsRuntime::state(scope);
+ let old = state_rc.borrow_mut().js_format_exception_cb.replace(cb);
let old = old.map(|v| v8::Local::new(scope, v));
Ok(old.map(|v| from_v8(scope, v.into()).unwrap()))
}