summaryrefslogtreecommitdiff
path: root/core/ops_builtin_v8.rs
diff options
context:
space:
mode:
authorAndreu Botella <andreu@andreubotella.com>2023-01-16 08:36:42 -0800
committerGitHub <noreply@github.com>2023-01-16 22:06:42 +0530
commitf0c79a676cc36a5e8f6f5af86d93186d41974518 (patch)
tree61831add9e02b32fbc399b613fe11408c4f79d18 /core/ops_builtin_v8.rs
parent6da958d7ec31f2ffd21bb2beb8cc193a62afc55c (diff)
refactor(core): Move `pending_promise_rejections` to `ContextState` (#17447)
This is a requirement before supporting modules in realms.
Diffstat (limited to 'core/ops_builtin_v8.rs')
-rw-r--r--core/ops_builtin_v8.rs20
1 files changed, 11 insertions, 9 deletions
diff --git a/core/ops_builtin_v8.rs b/core/ops_builtin_v8.rs
index 5128a056b..225a81901 100644
--- a/core/ops_builtin_v8.rs
+++ b/core/ops_builtin_v8.rs
@@ -864,13 +864,13 @@ fn op_store_pending_promise_rejection<'a>(
promise: serde_v8::Value<'a>,
reason: serde_v8::Value<'a>,
) {
- let state_rc = JsRuntime::state(scope);
- let mut state = state_rc.borrow_mut();
+ let context_state_rc = JsRealm::state_from_scope(scope);
+ let mut context_state = context_state_rc.borrow_mut();
let promise_value =
v8::Local::<v8::Promise>::try_from(promise.v8_value).unwrap();
let promise_global = v8::Global::new(scope, promise_value);
let error_global = v8::Global::new(scope, reason.v8_value);
- state
+ context_state
.pending_promise_rejections
.insert(promise_global, error_global);
}
@@ -880,12 +880,14 @@ fn op_remove_pending_promise_rejection<'a>(
scope: &mut v8::HandleScope<'a>,
promise: serde_v8::Value<'a>,
) {
- let state_rc = JsRuntime::state(scope);
- let mut state = state_rc.borrow_mut();
+ let context_state_rc = JsRealm::state_from_scope(scope);
+ let mut context_state = context_state_rc.borrow_mut();
let promise_value =
v8::Local::<v8::Promise>::try_from(promise.v8_value).unwrap();
let promise_global = v8::Global::new(scope, promise_value);
- state.pending_promise_rejections.remove(&promise_global);
+ context_state
+ .pending_promise_rejections
+ .remove(&promise_global);
}
#[op(v8)]
@@ -893,12 +895,12 @@ fn op_has_pending_promise_rejection<'a>(
scope: &mut v8::HandleScope<'a>,
promise: serde_v8::Value<'a>,
) -> bool {
- let state_rc = JsRuntime::state(scope);
- let state = state_rc.borrow();
+ let context_state_rc = JsRealm::state_from_scope(scope);
+ let context_state = context_state_rc.borrow();
let promise_value =
v8::Local::<v8::Promise>::try_from(promise.v8_value).unwrap();
let promise_global = v8::Global::new(scope, promise_value);
- state
+ context_state
.pending_promise_rejections
.contains_key(&promise_global)
}